代碼結構

代碼結構

《代碼結構》是2016年8月電子工業出版社出版的圖書,作者是魏家明。

基本介紹

  • 中文名:代碼結構
  • 作者:魏家明
  • 出版時間:2016年8月
  • 出版社電子工業出版社
  • 頁數:280 頁
  • ISBN:9787121296031
  • 定價:49 元
  • 開本:16 開
內容簡介,圖書目錄,

內容簡介

本書對如何最佳化代碼結構做了深入的探討,分為五個部分:編程問題與原則、編程格式與風格、如何讓代碼更容易讀、如何做代碼重構和C語言的一些要素。本書對這些部分做了重點探討:代碼中存在的各種問題,編程時要遵循的原則,編程時要注重格式、注釋和名字,如何讓表達式和控制流簡單易讀,如何消除代碼中的重複冗餘,如何切分代碼和少寫代碼等。另外,本書還探討了C語言設計中的一些要素和常見問題。

圖書目錄

第一部分 編程問題與原則
第1章 美的設計 2
1.1 美學觀點 2
1.2 代碼可讀 2
1.3 適用範圍 3
第2章 代碼質量 4
2.1 外在特性 4
2.2 內在特性 4
2.3 一個故事 5
2.4 提升質量 5
第3章 代碼問題 7
3.1 最混亂的 7
3.2 命名混亂 8
3.3 名實不副 8
3.4 格式混亂 9
3.5 注釋混亂 9
3.6 重複冗餘 9
3.7 臃腫龐大 9
3.8 晦澀難懂 10
3.9 過度耦合 10
3.10 濫用變數 10
3.11 嵌套太深 10
3.12 代碼混雜 10
3.13 不確定性 11
3.14 太多警告 11
3.15 雞同鴨講 11
3.16 過度設計 11
3.17 基礎不好 11
3.18 陳舊腐敗 12
3.19 停滯不前 12
3.20 不可擴充 12
3.21 最後總結 12
第4章 人員問題 13
4.1 思維定勢 13
4.2 思維頑固 14
4.3 小中見大 14
4.4 懶蟲心理 14
4.5 粗枝大葉 15
4.6 巧合編程 15
4.7 應付差事 15
4.8 固步自封 15
4.9 疲憊不堪 15
4.10 環境混亂 16
4.11 管理失職 16
4.12 個人性格 16
第5章 編程原則 17
5.2 設計模式 18
5.3 編碼風格 19
5.4 乾乾淨淨 19
第6章 編程之道 21
6.1 注重質量 21
6.2 遵守規則 22
6.3 簡潔編程 22
6.4 整潔編程 23
6.5 快樂編程 24
6.6 團隊協作 25
6.7 測試驅動 25
6.8 考慮全局 25
6.9 代碼切分 26
6.10 代碼重構 26
6.11 深入學習 27
6.12 尋求詩意 27
6.13 程式設計師節 28
第二部分 編程格式與風格
第7章 使用Emacs 30
7.1 Emacs介紹 30
7.2 Emacs安裝 31
7.3 常用快捷鍵 31
7.4 筆者的“.emacs” 32
7.5 cua-mode 33
7.6 shell buffer 34
第8章 快速排序 35
8.1 算法簡介 35
8.2 C/C++語言 35
8.3 Java 36
8.4 Perl 36
8.5 Verilog 37
第9章 格式優美 39
9.1 合理安排 39
9.2 橫向縮進 40
9.3 縱向對齊 43
9.4 順序書寫 44
9.5 分組成塊 45
9.6 添加空白 46
9.7 書寫語句 47
9.8 書寫表達式 47
9.9 Verilog部分 48
9.10 保持一致 49
9.11 代碼例子 50
第10章 注釋合理 52
10.1 無用的注釋 52
10.2 有用的注釋 58
10.3 如何寫注釋 62
第11章 名字定義 65
11.1 命名方法 65
11.2 命名 67
11.3 命名規則 73
11.4 名字使用 77
11.5 SPEC定義 77
第三部分 讓代碼更容易讀
第12章 消除警告 84
12.1 不可忽視 84
12.2 警告類型 86
12.3 打開警告 87
第13章 精心用變數 89
13.1 修改變數的名字 89
13.2 進行變數初始化 90
13.3 減少變數的個數 91
13.4 縮小變數作用域 92
13.5 減少變數的操作 95
第14章 表達式易讀 96
14.1 糟糕的表達式 96
14.2 使用中間變數 96
14.3 使用等價邏輯 98
14.4 簡化判斷邏輯 98
14.5 使用宏定義 99
14.6 使用查找表 99
14.7 注意操作符 101
14.8 簡潔的寫法 102
第15章 控制流易讀 104
15.1 組織直線型代碼 104
15.2 判斷中的表達式 105
15.3 判斷中的注意事項 105
15.4 判斷中的參數順序 106
15.5 判斷中的賦值語句 106
15.6 if語句的邏輯順序 107
15.7 使用“?:” 108
15.8 使用switch 108
15.9 使用return 109
15.10 選擇for/while 109
15.11 少用do/while 110
15.12 少用goto 112
15.13 語句對比 113
15.14 減少嵌套 114
15.15 減少代碼 117
第16章 設計好函式 119
16.1 不好的函式 119
16.2 好的函式 119
16.3 小的函式 120
16.4 遞歸調用 121
第四部分 如何做代碼重構
第17章 代碼重構 124
17.1 為什麼重構 124
17.2 重構的好處 124
17.3 重構的難題 125
17.4 實際的例子 125
第18章 消除重複 128
18.1 代碼重複的產生 128
18.2 代碼重複的後果 128
18.3 代碼重複的解決 129
18.4 消除重複的例子 129
第19章 代碼切分 133
19.1 抽取獨立的代碼 133
19.2 設計通用的代碼 135
19.3 簡化已有的接口 137
19.4 一次只做一件事 138
19.5 讓函式功能單一 142
19.6 刪除無用的代碼 144
第20章 少寫代碼 145
20.1 合適就剛剛好 145
20.2 保持代碼簡潔 145
20.3 使用循環解決 146
20.4 熟悉語言特性 147
20.5 熟悉庫函式 147
20.6 熟悉系統工具 149
第21章 簡化代碼 150
21.1 重新設計代碼 150
21.2 尋找更好算法 152
第22章 代碼生成 155
22.1 配置Linux的核心 155
22.2 生成暫存器的代碼 156
22.3 生成Benes的代碼 157
第23章 代碼測試 161
23.1 測試中問題 161
23.2 測試的原則 162
23.3 設計要更好 162
23.4 提高可讀性 162
23.5 測試智慧型化 164
23.6 定位Bug 167
第五部分 C語言一些要素
第24章 關鍵字 170
第25章 類型 172
25.1 內部數據類型 172
25.2 新增數據類型 173
25.3 enum 173
25.4 struct 174
25.5 union 175
25.6 typedef 175
25.7 複雜的數據類型 177
25.8 Endian問題 177
第26章 變數 179
26.1 聲明和定義 179
26.2 變數分類 179
26.3 const變數 183
26.4 volatile變數 185
26.5 混合聲明 187
第27章 常量 188
27.1 常量類型 188
27.2 常量定義 189
27.3 常量區分 189
27.4 其他問題 189
第28章 操作 190
28.1 操作符表格 190
28.2 操作符解釋 192
28.3 強制進行類型轉換 199
28.4 運算時的類型轉換 199
28.5 賦值時的類型轉換 203
第29章 數組 206
29.1 數組的說明 206
29.2 初始化 206
29.3 字元串 207
29.4 複合常量賦值 208
29.5 函式中的變長數組 208
29.6 結構中的靈活數組 209
29.7 數組作為函式參數 209
29.8 數組和指針 210
第30章 指針 212
30.1 指針的說明 212
30.2 囉嗦的指針 213
30.3 void * 214
30.4 restrict 215
30.5 多級指針 216
30.6 數組指針和指針數組 217
30.7 函式指針和指針函式 219
30.8 malloc 222
30.9 alloca 223
30.10 指針使用中的問題 223
第31章 語句 225
31.1 if 225
31.2 switch 225
31.3 for和while 226
31.4 do {...} while 226
31.5 break 227
31.6 return 228
31.7 goto 228
31.8 exit 229
31.9 複合語句 229
30.10 空語句 229
第32章 函式 231
32.1 void 231
32.2 static 231
32.3 inline 231
32.4 函式原型 232
32.5 參數可變 233
32.6 其他討論 234
第33章 庫函式 235
33.1 使用getopt 235
33.2 使用qsort 236
33.3 檔案模式問題 236
33.4 返回值的問題 238
33.5 控制字元問題 238
33.6 緩衝區問題 239
33.7 可重入問題 240
第34章 預處理 242
34.1 檔案包含 242
34.2 宏定義 244
34.3 條件編譯 248
34.4 其他命令 249
34.5 預處理輸出 249
第35章 錯誤處理 250
35.1 錯誤檢查和處理 250
35.2 封裝函式 250
35.3 使用斷言 251
第36章 記憶體映像 254
36.1 程式編譯後的section 254
36.2 程式運行時的記憶體空間 255
36.3 簡單的malloc.c 255
第37章 彙編語言 258
37.1 如非必要 258
37.2 熟悉ABI 259
37.3 彙編例子 259
第38章 GCC特色 261
38.1 MinGW 261
38.2 執行過程 262
38.3 內嵌彙編 262
38.4 __attribute__ 264
參考文獻 266

相關詞條

熱門詞條

聯絡我們