CODE COMPLETE 2 軟體開發實務指南 第4章 關鍵的「建構」決策
第四章談到程式設計師負責的準備工作。
4.1 程式語言的選擇
程式語言影響到生產效率還有程式碼的品質。高階語言比低階語言更容易有更好的效率與品質。
程式語言會影響程式設計師的思維,Fortran工程師不了解物件導向觀念,寫出的C++實質上類似Fortran的程式。
語言描述
4.2 程式設計約定
高品質的程式碼可以感受到統一的風格,可看到架構的概念完整性與其底層實作之間的關係。
「建構」之前,說清楚程式設計的約定。
4.3 你在技術浪潮中的位置
每個時代都有潮流,作者的職業生涯看到了PC興起與大型主機的隕落,GUI程式替代字元介面程式,Web崛起和Windows衰落。
在網路浪潮末期工程師要寫網路程式會有很多資源,相對地在網路浪潮初期工程師要寫網路程式會面臨資源短缺的情況,甚至程式語言都有必須繞過去的bug。
用語言現有的環境來設計程式(programming in a language)
用程式去創造適合開發的語言環境 (programming into a language)
「programming in a language」是人受限於環境,「programming into a language」是人改變環境。
「用程式去創造適合開發的語言環境 」的例子
VB6以前的VB語法有限制,作者無法做到業務邏輯、使用者介面與資料庫分開。作者自定「約定」解決語言限制的問題。
4.4 選擇主要的建構實踐方法
核對表:主要的建議實踐
編碼(Coding)
多少設計工作要預先進行?多少設計工作要在鍵盤上進行?
名稱、註解、程式碼格式的「程式設計約定」?
編碼實踐。錯誤條件、安全性事項、類別介面、遵循標準、效能因素。
找到自己在技術浪潮的位置,知道如何「programming into a language」。
團隊工作
整合程序,Check in之前有沒有定義一套特定的步驟
結對程式設計或是獨自程式設計
品質保證
寫程式碼前編寫測試案例
單元測試
除錯器追蹤程式碼流程
整合測試
複審機制
工具
版本控制工具
語言、語言版本或編譯器版本
設計框架
允許使用非標準語言特性?
編譯器、重構工具、除錯器、測試框架、語法檢查器
要點
要知道所用語言的強項與弱點
寫程式之前要做好約定(convention)
有意識選擇最適合的實踐方法
用程式去創造適合開發的語言環境 (programming into a language),不要用語言現有的環境來設計程式(programming in a language)
確定在技術浪潮的位置,調整計畫和預期目標。
留言
張貼留言