2012年9月30日 星期日

《程序員修煉之道:從小工到專家》筆記

1.使品質成為需求議題。


2.了解聽眾:

(1)你想讓他們學到什麼?

(2)他們對你講的什麼會感興趣?

(3)他們有多豐富的經驗?

(4)他們想要多少細節?

(5)你想要讓誰擁有這些訊息?

(6)你如何促使他們聽你說話?


3.製作架構原型時應問的問題:

(1)主要組件的責任是否得到了良好定義?是否適當?

(2)主要組件間的協作是否得到了良好定義?

(3)耦合是否得以最小化?

(4)你能否確定重複的潛在來源?

(5)接口定義和各項約束是否可接受?

(6)每個模塊在執行過程中是否能訪問到其所需的數據?是否能在需要時進行訪問?


4.把抽象放進代碼,把細節放進 metadata


5.不要試圖在重構的時候增加功能。


6.在開始重構之前,確保你擁有良好的測試,並盡可能經常運行這些測試。


7.代碼要為了測試而設計。


8.找出用戶為何要做特定事情的原因,而不只是他們目前做這件事的方式。


9.需求不是架構、設計,需求是需要


10.測試的類型:

(1)單元測試:對某個模塊進行演練的代碼。

(2)集成測試:說明組成項目的主要子系統能工作,並且能很好地協同。

(3)驗證和校驗:檢視它是否滿足系統的功能需求。

(4)資源耗盡、錯誤及恢復。

(5)性能測試。

(6)可用性測試:由真正的用戶、在真實的環境條件下進行。


11.測試的方式:

(1)回歸測試:把目前測試的輸出與之前的(或已知的)值進行對比。

(2)測試數據。

(3)演練 GUI 系統。

(4)對測試進行測試:故意引入 bug,證實測試能抓到它們。

(5)徹底測試。


12.測試狀態覆蓋範圍,而不是代碼覆蓋。

沒有留言:

張貼留言