編碼(coding)
- []你有沒有確定,有多少設計工作要預先進行,有多少設計工作要在鍵盤上進行(在編碼的同時)?
- []你有沒有規定如名稱,註解,程式碼格式等等的「程式設計約定」?
- []你有沒有規定特定的,由軟體架構確定的編碼實踐,例如如何處理錯誤條件,如何處理安全性事項,對於類別介面有哪些約定,可重用的程式碼遵循哪些標準,在寫程式時考慮多少效能因素等?
- []你有沒有找到自己在技術浪潮中的位置,並依此來調整自己的措施?如果必要,你是否知道如何「用程式去創造適合開發的語言環境」,而不受限於語言(僅僅「用語言現有的環境來設計程式」)?
團隊工作
- []你有沒有定義一套整合程序——也就是說,你有沒有定義一套特定的步驟,規定程式設計師再把程式碼 check in (簽入)到主原始碼(程式碼庫)中之前,必須履行這些步驟?
- []程式設計師是結對程式設計,還是獨自程式設計,或者這二者之間的某種結合?
品質保證
- []程式設計師在編寫程式碼之前,是否先為之編寫測試案例?
- []程式設計師會為自己的程式碼編寫單元測試嗎(無論先寫還是後寫)?
- []程式設計師在 check in 程式碼之前,會用除錯器逐步追蹤整個程式碼流程嗎?
- []程式設計師在 check in 程式碼之前,是否會進行整合測試?
- []程式設計師會複審或檢查別人的程式碼嗎?
工具
- []你是否選用了某種版本控制工具?
- []你是否選定了一種語言,以及語言的版本或編譯器版本?
- []你是否選擇了某個程式設計框架,或明確的決定不使用程式設計框架?
- []你是否決定允許使用非標準的語言特性?
- []你是否選定並擁有了其他將要擁有的工具——編譯器,重構工具,除錯器,測試框架,語法檢查器等等?