編輯推薦
本書是編程風格方麵的奠基之作,40年以來經久不衰,價值依舊,值得讀者深入閱讀和參考閱讀。
本書作者具有很高的知名度和專業度,是斯坦福大學的著名教授,也是計算機方麵的著名科學傢。
作者四十年前在本書中給齣的70多條較佳實踐和規則,大多數在今天仍然適用。一方麵,很多程序員通過遵循這些實踐和規則編寫齣可靠而穩定的程序;另一方麵,一些調試人員甚至將本書作為調試程序的參考書和檢查錶。
本書譯者是文津圖書奬獲奬圖書的譯者。
內容簡介
本書是編程慣用法和規則的實踐指南。全書從錶達、控製結構、程序結構、輸入和輸齣、常見錯誤、效率和測試工具、文檔等多個角度,概括瞭程序設計中若乾的實踐或規則,並通過代碼示例加以分析和闡釋。
本書兩位作者都是程序設計領域的大師級任務。他們四十年前在本書中給齣的70多條實踐和規則,大多數在今天仍然適用。
本書堪稱計算機專業人士和程序員的必讀的經典之作,適閤於不同層級的程序員和計算機相關專業的學生參考閱讀。
作者簡介
作者簡介
Brian W. Kernighan,全球知名、德高望重的計算機先驅,在程序設計方法論和軟件工程方麵做瞭大量開創性的工作。他曾長期在貝爾實驗室工作,現在普林斯頓大學計算機科學係任教。他著有數本經典教材,包括與Dennis Ritchie閤著的傳世之作The C Programming Language、與Rob Pike閤著的The Practice of Programming,以及最近齣版的科普圖書D is for Digital等。他還是AWK編程語言的發明者,這種語言廣泛地應用在UNIX/Linux應用中。“K&R; C”和“AWK”中的“K”都代錶Kernighan。
P.J. Plauger,全球知名的計算機科學傢、C/ C++技術專傢以及技術圖書作者,更是數個標準C/C++程序庫的作者。他曾經在貝爾實驗室工作,現在任美國Dinkumware公司總裁。他曾經擔任 C/C++ Users Journal高級編輯,也是The Standard C Library、Standard C : A Reference 和The Standard Template Library等圖書的作者。
譯者簡介
高博,1983年生,畢業於上海交通大學。目前在互聯網金融創業公司任首席産品官兼首席質量官,在信息科學和工程領域有近15年實踐和研究經驗。酷愛讀書和寫作,業餘研究興趣涉獵廣泛。譯著包括圖靈奬作者高德納的《研究之美》和布魯剋斯的《設計原本》,以及Jolt大奬作品《元素模式》等,齣版翻譯作品計近百萬字。
新浪微博:但以理_高博
微信公眾號:高博的世界
徐章寜,1984年生,就讀於上海交通大學,碩士畢業後就職於EMC中國卓越研發集團,現任EMC公司高級係統管理工程師,從事軟件運維工作多年,鍾愛開源軟件。對各類知識有廣泛興趣,平日喜愛參與問答網站討論,熱愛讀書攝影和寫作。
內頁插圖
目錄
第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
前言/序言
編程格調 下載 mobi epub pdf txt 電子書
評分
☆☆☆☆☆
懷舊瞭,質量還行吧,有些內容陳舊瞭
評分
☆☆☆☆☆
必須有格調,程序員必備
評分
☆☆☆☆☆
經典計算機圖書,引進的有點晚瞭
評分
☆☆☆☆☆
書不錯,讓人更好地提高eq
評分
☆☆☆☆☆
內容不錯,就是裏麵的例子不是用常用的開發語言
評分
☆☆☆☆☆
好…………………………
評分
☆☆☆☆☆
讀讀大師的指教,養成好的編程習慣,受益匪淺
評分
☆☆☆☆☆
翻瞭兩章,對新手來說應該有用,有經驗的基本上也沒有太大的幫助
評分
☆☆☆☆☆
《編程格調》是編程慣用法和規則的實踐指南。全書從錶達、控製結構、程序結構、輸入和輸齣、常見錯誤、效率和測試工具、文檔等多個角度,概括瞭程序設計中若乾的最佳實踐或規則,並通過代碼示例加以分析和闡釋。