讀《代碼大全》筆記:架構覈對表


針對各架構主題

  1、 程序的整體組織結構是否清晰?是否包含一個良好的架構全局觀(及其理由)?

  2、 是否明確定義了主要的構造塊(包括每個構造塊的職責範圍及與其他構造塊的接口)?

  3、 是否明顯涵蓋了“需求”中列出的所有功能(每個功能對應的構造塊不太多也不太少)?

  4、 是否描述並論證了那些最關鍵的類?

  5、 是否描述並論證了數據設計?

  6、 是否詳細定義了數據庫的組織結構和內容?

  7、 是否指出了所用關鍵的業務規則,並描述其對系統的影響?

  8、 是否描述了用戶界面設計的策略?

  9、 是否將用戶界面模塊化,使界面的變更不會影響程序其餘部分?

  10、 是否描述並論證了處理I/O的策略?

  11、 是否估算了稀缺資源(如線程、數據庫連接、句柄、網絡帶寬等)的使用量,是否描述並論證了資源管理的策略?

  12、 是否描述了架構的安全需求?

  13、 架構是否爲每個類、每個子系統、或每個功能域(functionality area)提出空間與時間預算?

  14、 架構是否描述瞭如何達到可伸縮性?

  15、 架構是否關注互操作性?

  16、 是否描述了國際化/本地化的策略?

  17、 是否提供了一套內聚的錯誤處理策略?

  18、 是否規定了容錯的辦法(如果需要)?

  19、 是否證實了系統各個部分的技術可行性?

  20、 是否詳細描述了過度工程(overengineering)的方法?

  21、 是否包含了必要的“買 vs. 造”的決策?

  22、 架構是否描述瞭如何加工被複用的代碼,使之符合其他架構目標?

  23、 是否將架構設計得能夠適應很可能出現的變更?

架構的總體質量

  1、 架構是否解決了全部需求?

  2、 有沒有哪個部分是“過度架構/overarchitected”或“欠架構/underarchitected”?是否明確宣佈了在這方面的預期指標?

  3、 整個架構是否在概念上協調一致?

  4、 頂層設計是否獨立於用作實現它的機器和語言?

  5、 是否說明了所有主要的決策的動機?

  6、 你,作爲一名實現該系統的程序員,是否對這個架構感覺良好?
發佈了44 篇原創文章 · 獲贊 3 · 訪問量 26萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章