2012年9月30日 星期日

《高效程序員的45個習慣:敏捷開發修煉之道》筆記

1.不要一開始就進行戰術設計,重點是集中在單個的方法或數據類型上。

在CRC卡片中,每個類別按照下面的術語描述:

  • 類別名稱
  • 職責
  • 協作者:它要與什麼對象一起工作


2.好的設計應該是正確的,而不是精確的。它是目標,而不是具體的處方。


3.針對要測試的內容:

  • 確保測試是可重複的。
  • 測試你的邊界條件。
  • 不要放過任何一個失敗的測試。

4.在改動代碼以修復 bug 或增加新功能前應遵守的步驟:

(1)理解代碼做了什麼,它是如何做的。

(2)搞清楚將要改變哪些部分。

(3)進行修改並測試。


5.對於類別中的每個方法,註釋要說明以下訊息:

(1)目的:為什麼需要這個方法?

(2)需求(前置條件):方法需要什麼樣的輸入,對象必須處於何種狀態,才能讓這個方法工作?

(3)承諾(後置條件):方法成功執行後,對象現在處於什麼狀態,有哪些傳回值?

(4)異常:可能會發生什麼樣的問題、拋出什麼樣的異常?


6.讓類別的功能盡量集中,讓組件盡量小


7.命令-查詢分離原則(Command Query Separation):將功能方法分為「命令」和「查詢」兩類,並在原始碼中記錄下來。


8.問題解決日誌應包含:
  • 問題發生日期。
  • 問題簡述。
  • 解決方案詳細描述。
  • 引用文章或網址,以提供更多細節或相關訊息。
  • 任何代碼片段、設置或對話框的截取畫面,只要它們是解決方案的一部份,或者可以幫助更深入理解相關細節。
  • 發生問題時的應用程式、應用框架或平台的特定版本。


9.開站立會議時,每個人只回答三個問題:

(1)昨天有什麼收獲?

(2)今天計劃要做哪些工作?

(3)面臨哪些障礙?


10.確保代碼複查參與人員得到每次複查活動的反饋。作為結果,要讓每個人知道複查完成後所採取的行動。

沒有留言:

張貼留言