編程格調

編程格調

《編程格調》是[美] Brian W.Kernighan,P.J. Plauger創作的圖書。

基本介紹

  • 中文名:編程格調
  • 作者:[美] Brian W.Kernighan,P.J. Plauger
  • 出版時間:2015年
  • 出版社:人民郵電出版社
  • ISBN: 9787115379528 
  • 定價:49 元
內容簡介,作品目錄,

內容簡介

本書是編程慣用法和規則的實踐指南。全書從表達、控制結構、程式結構、輸入和輸出、常見錯誤、效率和測試工具、文檔等多個角度,概括了程式設計中若干的最佳實踐或規則,並通過代碼示例加以分析和闡釋。本書兩位作者都是程式設計領域的大師級人物。他們四十年前在本書中給出的70多條最佳實踐和規則,大多數在今天仍然適用。本書堪稱計算機專業人士和程式設計師的必讀之作,適合於不同層級的程式設計師和計算機相關專業的學生參考閱讀。

作品目錄

第1章 緒論 1
撰寫簡潔的程式—不要耍小聰明 2
第2章 表達 13
簡單並且直接地表達你要說的意思 14
使用庫函式 14
避免使用臨時變數 16
代碼要清晰,不要為了“效率”犧牲可讀性 16
讓機器乾髒活 17
用函式調用替代重複的表達式 18
加括弧來避免歧義 21
選擇不會被混淆的變數名 21
避免使用Fortran的算術IF 23
避免不必要的分支 25
使用語言好的特性,避免使用不好的特性 25
不要使用條件分支來代替一個邏輯表達式 26
用“電話測試”來檢查可讀性 29
第3章 控制結構 39
使用DO-END和縮進來界定語句組 40
用IF-ELSE強調兩個操作中只有一個被執行 42
用DO和DO-WHILE來強調循環的存在 45
確保你的程式是自頂向下閱讀的 46
使用IF…ELSE IF…ELSE IF…ELSE 來實現多路分支 47
使用基本的控制流結構 48
先用容易理解的偽語言編寫代碼,然後再翻譯成 你需要使用的語言 52
避免使用THEN-IF和空ELSE 55
避免使用ELSE GOTO和ELSE RETURN 56
判斷要儘可能緊挨著與之相關的操作 58
使用數組來避免重複的控制流 61
選擇可以簡化程式的數據表示方法 63
不要止步於第一遍的代碼草稿 66
第4章 程式結構 71
模組化,使用子例程 74
讓模組之間的耦合變得可見 75
每一個模組都應該做好一件事 76
確保每一個模組都隱藏好一些東西 78
以數據為導向來構建程式的結構 80
不要修補爛代碼——重寫它 84
分塊編寫和測試大的程式 91
對於遞歸定義的數據結構使用遞歸過程 91
第5章 輸入和輸出 97
校驗輸入的合法性和合理性 100
保證輸入數據不會違背程式的限制 101
利用檔案結束符號或結束標誌來終止輸入, 不要讓用戶去計數 102
識別出非法輸入數據,如果可能則糾正之 103
使用統一的形式處理檔案結束條件 105
讓輸入數據易於準備,並讓輸出數據意義不言自明 108
使用統一的輸入格式 110
讓輸入數據易於校對 111
儘可能選擇自由格式輸入 112
使用含義自明的輸入,指定默認值,將以上二者都輸出 112
將輸入與輸出局限在子例程中 116
第6章 常見錯誤 119
確保所有的變數在使用之前都被初始化 120
不要停留在一個bug上 122
使用調試編譯器 124
用DATA語句或INITIAL屬性初始化常量, 用可執行語句初始化變數 125
小心“差一”錯誤 126
要注意對不等式進行正確的分支 126
避免循環有多個出口 128
確保你的代碼巧妙地“不做事情” 131
在邊界值上測試程式 135
預防性編程 136
10.0乘以0.1不等於1.0 137
不要比較浮點數是否相等 139
第7章 效率和測試工具 145
先做對,再做快 147
在提高程式運行速度時,要保持其正確性 149
先把程式改得更簡潔,再提高其運行速度 150
不要為了“效率”上的蠅頭小利而犧牲程式的簡潔性 151
讓編譯器執行平凡最佳化 151
不要勉強地復用代碼,應該進行改編 152
保證特殊情況真的有特殊性 155
保持簡單性,反而會更快 157
不要為了提高速度而畫蛇添足—去尋找更好的算法 159
在程式中放置測試語句,“增效”之前先執行測算 161
第8章 文檔 165
確保注釋和代碼一致 167
不要用注釋複述代碼做的事情, 每個注釋都要有實際意義 167
不要注釋糟糕的代碼——重寫它 169
使用含有意義的變數名 170
使用含有意義的語句標籤 171
程式的格式要有助於讀者的理解 171
用縮進來體現程式的邏輯結構 172
記錄你的數據規劃 175
不要過度注釋 176
結束語 180

相關詞條

熱門詞條

聯絡我們