問題1:本書第四章講的是「兩人合做」,在該章節中講述了代碼規範,代碼複審,兩人合做的技巧等......但沒有涉及到一個問題,讓我很疑慮,在一個開發團隊中,每一個人編寫代碼的水平各不相同,那麼,如何在團隊中合理分配每人的任務?使每一個人都能在團隊中出色的表現,從中受益,提升水平。程序員
問題2:在第11章231頁,有下面這樣一段話 「寫好代碼後,小飛對照設計文檔和代碼指南進行自我複審,重構代碼。」 對於「代碼重構」不是很清楚。設計模式
我查了一些資料,重構就是經過調整程序代碼,但並不改變程序的功能特徵,達到改善軟件的質量、性能,使程序的設計模式和架構更趨合理,更容易被理解,提升軟件的擴展性和維護性。資料中都在強調重構的好處,而重構在「軟件系統的過程, 它不會改變代碼的外部行爲, 同時改善其內部結構。 這是一種嚴格的清理代碼的方法, 它能夠最大限度地減小引入錯誤的可能性。 本質上, 當重構代碼時, 是在編寫代碼以後改進它的設計」。
可是我對於具體的狀況依然不是很理解,重構是對於舊的架構進行修改,來知足新的需求,那若是要大面積的修改,採起重構有效仍是重寫有效? 什麼時候應該進行重構呢?架構
問題3:在通讀到本書的最後時,老師留了一個問題:「軟件工程師在企業中是勞動密集型的工人,仍是有首創性的專業人士?他們對軟件企業的成敗負有多大的責任?」性能
經過查閱資料,個人理解是這樣的:軟件工程師在企業中不該該是勞動密集型的工人,而應該是有首創性的專業人士。可是在中國的諸多企業中,包括外企,每每都是專業人士帶領着一 羣勞動密集型的工人在工做,普通的程序員再聰明,也沒有能力在大方向上改變公司的決策。軟件工程師與軟件企業的成敗息息相關,但對軟件企業成敗負多大的責任,倒是要多方面考慮的問題。軟件企業的失敗是有多方面緣由的形成的,好比經營模式、領導層的緣由,員工的緣由。他們所要負責的只是其中一部分。所以軟件企業的成敗不該該由軟件工程師來負主要責任,若是要把這個責任強加到軟件工程師身上,那麼至少也要給軟件工程師同等的發聲權利。