軟體工程-讀書筆記(第4章)
兩人合作
1. 代碼規範
2. 代碼風格規範
3. 代碼設計規範
4. 代碼複審
5. 結對程式設計
6. 兩人合作的不同階段和技巧
7. 個人總結
1.代碼規範
代碼不僅僅是給機器看的,很大程度上是給我們的同行、同僚看。
當我們閱讀到一段可讀性很差的代碼,我們肯定會覺得這段代碼的作者很差,就連最基礎的代碼規範都沒有,
如果要我們接手這樣一個項目,有人甚至會對此爆粗。
那麼作為程式員的我們,在學習的最初階段更應該樣成良好的習慣,讓我們的代碼符合基本的代碼規範,
提高可讀性,當其他人學習或者是接手時,能更加便捷。
在兩人的合作中,如果沒有一定的代碼規範,會讓我們的開發時間大打折扣,而将寶貴的時間浪費在這種不值一提的小事上
2.代碼風格規範
代碼風格會因為團隊不同,個人習慣原因,而産生差異,
但是在同一個團隊,為了讓代碼更容易了解,後期更友善維護,
不論是小到二人合作還是數百人的大型項目開發,一定要統一風格。
代碼風格的原則是:簡明,易讀,無二義性
3.代碼設計規範
未來在工作中的程式不會再是HelloWorld,萬年曆那麼簡單,
在學習階段我們實驗的程式完全可以用一個main函數寫完所有代碼,但是我們并不能這麼做,
我們不能像大一剛接觸c語言時,在主函數裡寫滿所有的功能,
現階段我們要開始去設計我們的代碼:
盡可能将程式分功能,分子產品的開發,考慮代碼的複用性,互相的調用關系、繼承關系,更要考慮日後的維護和更新。
向低耦合,高内聚的方向努力
4.代碼複審
1. 發現代碼錯誤
2. 發現邏輯錯誤
3. 發現算法錯誤
4. 發現潛在錯誤和回歸性錯誤
5. 發現需要改進的地方
6. 互相教育,傳授經驗
5.結對程式設計
結對程式設計模式是一對程式員肩并肩、平等地、互補地進行開發工作。
結對開發是兩個人使用一台電腦一起工作。他們一起分析,一起設計,一起寫測試用例,一起編碼,一起做單元測試,
一起做內建測試,一起寫文檔等。而不是兩個人分别開發,再合并交差。
在我們各自獨立設計、實作軟體的過程中不免會出現一些問題,而在結對程式設計時,兩人同寫一段代碼,
多少能避免一些獨自開發的錯誤
兩個程式員具有相同的缺點和盲點的可能性很小,是以當我們采用結對程式設計的時候會獲得一個強大的解決方案。而這個解決方案恰恰是其它軟體工程方法學中所沒有的。
現實生活中也有很多這樣的例子:
駕駛員和領航員
主機和僚機
6.兩人合作的不同階段和技巧
1. 萌芽階段
2. 磨合階段
3. 規範階段
4. 創造階段
5. 解體階段
正确的影響對方
正确的給予回報
7.個人總結
結對程式設計技術是指兩位程式員坐在同一工作台前開發軟體。與兩位程式員各自獨立工作相比,結對程式設計能編寫出品質更高的代碼。
兩人合作在理論上是可以達到事半功倍的工作效果,但是我們還是要注意:
人是一種非常複雜的動物,他們的缺點和内心的陰暗面可能會比你想像得還要糟糕,而這些東西是可以讓一切事物失敗的。是以,正如《人件》所說,人才是軟體開發中最核心,也是最需要花時間去關注的事情。