項目 | 內容 |
---|---|
本次做業所屬課程 | 2019BUAA軟件工程 |
本次做業要求 | 閱讀《構建之法》,初步瞭解軟件工程 |
我在本課程的目標 | 熟悉軟件工程相關規範,學會結對編程和團隊編程 |
本次做業的幫助 | 在《構建之法》的基礎上解惑,在老師幫助下了解軟件工程 |
問:若是用隨機數以增長測試的真實性,好麼?git
答:通常狀況下很差,若是某個隨機數致使程序出錯,可是下一次運行又不能重複這一錯誤,則於事無補。咱們仍是要用隨機數等辦法「增長測試的真實性」,但不是在單元測試中。單元測試不能解決全部問題,沒必要指望它會發現全部的缺陷。……github
「某個隨機數致使程序出錯,可是下一次運行又不能重複這一錯誤」,在隨機生成單元測試的時候,爲什麼下一次運行不能重複這個錯誤呢?隨機生成的數據對測試者來講應該是可見的,在隨機生成單元測試的時候,若某個隨機數致使出錯,可不能夠記錄這個數據,下一次測試就不須要從新隨機生成了呢?數據庫
還有,對於相似隨機數生成器這個程序自己,若是要進行單元測試要怎麼進行呢? 這是我在查詢以上疑問的時候遇到的新問題,可是彷佛沒有獲得解答。編程
我的項目耗時對比記錄表編程語言
……函數
·若是數據不許確或有遺失,怎麼辦?讓工程師編造一些?工具
正如書中提出的問題,當PSP中數據不許確或有遺失應該怎麼辦呢?我我的以爲編造應該是不可取的,這樣失去了PSP的意義。在回憶不起來的時候,若是單項時間缺失,能夠從其餘項目來計算時間;若是數據多項缺失… 有沒有什麼補救措施呢?gitlab
書中用魔方的精通來類比編程技能的精通,這樣說來,C++之類的語言精通應該遠比C語言困可貴多,但即便是c語言,達到「精通」的標準也有必定難度。不少人編程的過程都被調侃或者自嘲爲「面向谷歌編程」,那麼是否意味着一門編程語言,當我還不能脫離文檔或者谷歌獨立完成一個項目的時候,我就不能聲稱我「精通」這門語言呢?單元測試
在本章的練習與討論裏看到一個有趣的問題,也就是練習與討論的第四題學習
……
他愈來愈意識到本身原來設計中的弱點,……
若是如今就改弦更張,那勢必要影響本身原來估計的準確性,並會花費額外的時間,這樣他的老闆、同事也許會所以看不起他。若是他循序漸進地按既定設計完成,最後整個團隊還要花更多時間在後續集成上,但那就不是他我的的問題了,怎麼辦?
這個問題感受有那麼一點點相似「電車困境」,對於這個問題,我我的的見解是向團隊說明本身的失誤,並想辦法更正之前的錯誤,後者確定是不可取的,浪費整個團隊的時間同時也是浪費本身的時間。可是我在這裏想提問的是,有沒有更好的解決方案呢?
if(condition){
DoSomething();
}
else{
DoSomethingElse();
}
書上提倡每一個大括號都佔一行,可是沒有提到過如上的大括號換行規範,即一個第一個大括號不換行。我以爲這種寫法也是相對清晰的,而且在網上搜索了一下,採用上述格式和書上的格式D的人都有,甚至你們戲謔地稱對方爲「異端」。那麼第一個大括號換不換行究竟有沒有一些我沒有考慮到的講究呢?實例代碼比較簡單,顯得我在鑽牛角尖,可是我在想若是在複雜的代碼中是否兩者的某種優點或者劣勢會被放大。
……
4)當你拿不定注意的時候,用成員函數,不要用運算符。
請問爲何這樣說呢?我是這樣想的,拿不定注意的時候,說明兩者皆可,這個時候運算符重載會使得代碼可讀性更高,尤爲是有嵌套調用的時候,因此我我的以爲運算符更好,不知道爲何要這個時候要用成員函數。
文中的提到設定一個閾值,若是開發人員Bug數量超過這個閾值則須要他專心修復Bug,也就是掉進「小強地獄」。對於一個新的項目組,假如你們的代碼能力咱們都不是很瞭解,而自己這個閾值又不適合常常修改,那到底應該如何制定出合適的閾值呢?制定很差對於項目進度的影響是否會有負面效果?
根據維基百科
The first theory about software—prior to creation of computers as we know them today—was proposed by Alan Turing in his 1935 essay On Computable Numbers, with an Application to the Entscheidungsproblem (decision problem).
軟件理論的提出者是 Alan Turing
根據維基百科
1968年秋季,NATO(北約)的科技委員會召集了近50名一流的編程人員、計算機科學家和工業界巨頭,討論和制定擺脫「軟件危機」的對策。在那次會議上第一次提出了軟件工程(software engineering)這個概念.
著名計算機科學家Donald Knuth(高德納)(學計算機的確定知道這我的)寫的排版軟件TeX版本號能夠算是個趣事,從TeX第三版開始,以後的升級是在小數點後加入一個新數位,使之愈來愈接近Pi的值。TeX目前的版本是3.1415926。於2008年3月更新。
這個程序很穩定,高德納許諾要是誰發現一個bug,就獎勵他一些錢(1美分開始,每一年翻倍),通常真的發現bug的人,會把支票裱起來。
做者:FMiaoZ
連接:https://www.zhihu.com/question/20774002/answer/16134516
來源:知乎
著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。
在知乎查找到一則有趣的故事,在此就直接引用了。
目前流行的包括Microsoft TFS、git、Trac、Bugzilla等。
git(github、gitlab等)
Trac
Microsoft TFS
Bugzilla