《代碼大全》筆記 07 - 高質量的子程序

豆瓣:https://book.douban.com/subject/1477390/

《Code Complete》2d ed,CC2

創建子程序的正當理由

  • 降低複雜度。
  • 引入中間的、易懂的抽象。

  • 避免代碼重複。

  • 支持子類化。方便在派生類中覆蓋單一功能。

  • 隱藏實現細節。

  • 提高可移植性。

  • 隔離複雜度。

  • 提高代碼重用。

在子程序層上設計

  • 對子程序而言,內聚性是指子程序中各種操作之間聯繫的緊密程度。
  • 內聚性的多個方面:功能、執行順序、數據共享、臨時集合的操作、按參數決定執行的邏輯分支。

  • 對各種內聚性的的一般處理方法是,按其最小獨立模塊劃分,進一步提高內聚性。

  • 子程序的內部也可以只通過其他子程序進行來實現其功能,即,在子程序層上設計編碼。

好的子程序名字

  • 描述子程序所做的所有事情。
  • 避免使用無意義的、模糊或表述不清的動詞。

  • 不要僅通過數字來形成不同的子程序名字。

  • 使用合適的子程序名字,9 ~ 15 個字符爲佳。

  • 函數命名要對返回值有所描述。

  • 對於過程類子程序使用動詞加賓語的形式。

  • 合適的情況使用對仗詞。

如何使用子程序參數

  • 按照輸入-修改-輸出的順序排列參數。
  • 把有類似參數的多個函數的參數保持一致的順序。

  • 把狀態或出錯變量放到最後。

  • 不要把參數變量當做臨時變量使用。

  • 對參數有限定條件的情況需明確說明。註釋、assert 等。

  • 參數限制在 7 個以內。

  • 採用命名前綴等方法標識參數的輸入、修改、輸出的屬性。

  • 參數的設計需配合子程序接口抽象定義的設計。

2019-12-29 - 廖傑良

發佈了99 篇原創文章 · 獲贊 64 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章