注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)程序員的38堂成長(zhǎng)課

程序員的38堂成長(zhǎng)課

程序員的38堂成長(zhǎng)課

定 價(jià):¥109.80

作 者: [英] 皮特·古德利夫(Pete Goodliffe) 著,宋伯遠(yuǎn) 譯
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787115577948 出版時(shí)間: 2022-01-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 288 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書(shū)以38個(gè)話(huà)題的形式,從軟件開(kāi)發(fā)的角度講述了如何成為優(yōu)秀的程序員,是一份“程序員成長(zhǎng)課程表”。全書(shū)內(nèi)容涵蓋程序員職業(yè)生涯的方方面面,共分為五大部分:如何編寫(xiě)代碼,有益編程的重要實(shí)踐,如何打造卓越的編程職業(yè)生涯,如何采用切實(shí)可行的辦法按時(shí)交付代碼,如何與其他從事軟件開(kāi)發(fā)的人高效合作。不管你是經(jīng)驗(yàn)豐富的開(kāi)發(fā)人員,還是開(kāi)發(fā)新手,抑或只是編程愛(ài)好者,都可以從本書(shū)中找到有價(jià)值的提示。

作者簡(jiǎn)介

  皮特.古德利夫(Pete Goodliffe),是擁有20余年經(jīng)驗(yàn)的程序員,現(xiàn)任inMusic公司軟件開(kāi)發(fā)副總裁。他在軟件開(kāi)發(fā)方面涉獵廣泛,從操作系統(tǒng)實(shí)現(xiàn)到音頻編解碼器和多媒體應(yīng)用開(kāi)發(fā),再到嵌入式固件開(kāi)發(fā)和iOS開(kāi)發(fā)。他為大型程序員社群ACCU撰寫(xiě)雜志專(zhuān)欄“Becoming a Better Programmer”,另著有《編程匠藝:編寫(xiě)卓越的代碼》。

圖書(shū)目錄

前言 xix
第 1 章 心系代碼 1
第 一部分 編碼乃余事
第 2 章 保持外觀(guān)整潔 6
2.1 編碼規(guī)范不是小事 7
2.2 它關(guān)乎溝通 8
2.3 排版 9
2.3.1 結(jié)構(gòu)合理 9
2.3.2 一致性 10
2.4 命名 11
2.4.1 簡(jiǎn)潔 12
2.4.2 清晰 12
2.4.3 地道 12
2.4.4 準(zhǔn)確 12
2.5 得體地修改代碼 13
2.6 結(jié)論 13
第 3 章 寫(xiě)更少的代碼 15
3.1 為什么要關(guān)注 16
3.2 不嚴(yán)謹(jǐn)?shù)倪壿嬇袛唷?6
3.3 重復(fù)代碼 19
3.4 僵尸代碼 20
3.5 注釋 21
3.6 喋喋不休 22
3.7 設(shè)計(jì)缺陷 23
3.8 空白 24
3.9 解決之道 24
3.10 結(jié)論 25
第 4 章 刪除也是一種優(yōu)化 27
4.1 代碼沉迷 28
4.2 因?yàn)闊o(wú)法避免,所以可以接受 28
4.3 那又能怎樣呢 29
4.4 喚醒夢(mèng)中人 30
4.5 動(dòng)個(gè)手術(shù)吧 30
4.6 結(jié)論 31
第 5 章 代碼之背影 33
5.1 編碼規(guī)范 34
5.2 技術(shù)現(xiàn)狀 35
5.3 慣用法 36
5.4 設(shè)計(jì)決策 37
5.5 bug 37
5.6 結(jié)論 38
第 6 章 導(dǎo)航路線(xiàn) 41
6.1 朋友的幫助 42
6.2 尋找線(xiàn)索 42
6.3 邊干邊學(xué) 45
6.3.1 低垂的果實(shí) 45
6.3.2 代碼檢測(cè) 46
6.3.3 先研究,再行動(dòng) 46
6.3.4 測(cè)試先行 46
6.3.5 整理內(nèi)務(wù) 46
6.3.6 記錄你的發(fā)現(xiàn) 47
6.4 結(jié)論 47
第 7 章 走出泥潭 50
7.1 嗅出問(wèn)題 50
7.2 走進(jìn)泥淖 51
7.3 用調(diào)查說(shuō)話(huà) 51
7.4 入坑工作 52
7.5 清理混亂 53
7.6 做出改變 53
7.7 編寫(xiě)爛代碼就是糟糕的程序員嗎 54
第 8 章 不可忽視錯(cuò)誤 57
8.1 錯(cuò)誤機(jī)制 58
8.2 瘋狂的舉動(dòng) 59
8.3 托詞 59
8.4 結(jié)論 60
第 9 章 意料之中的意外 62
9.1 各種錯(cuò)誤 62
9.2 線(xiàn)程 63
9.3 關(guān)閉系統(tǒng) 63
9.4 話(huà)外之意 63
第 10 章 bug追蹤 66
10.1 經(jīng)濟(jì)考量 67
10.2 預(yù)防勝于治療 67
10.3 bug追蹤 68
10.3.1 捕獲錯(cuò)誤 68
10.3.2 活用二分法 69
10.3.3 軟件考古 69
10.3.4 測(cè)試,測(cè)試,再測(cè)試 70
10.3.5 磨刀不誤砍柴工 70
10.3.6 用排除法查找問(wèn)題 71
10.3.7 保持清潔,預(yù)防疾病 71
10.3.8 迂回策略 72
10.3.9 不要急于離開(kāi) 72
10.4 不可復(fù)現(xiàn)的bug 72
10.5 結(jié)論 74
第 11 章 測(cè)試時(shí)間 76
11.1 為什么測(cè)試 76
11.1.1 縮短反饋循環(huán) 77
11.1.2 測(cè)試代碼的代碼 77
11.1.3 誰(shuí)來(lái)編寫(xiě)測(cè)試 78
11.2 測(cè)試的種類(lèi) 78
11.3 什么時(shí)候編寫(xiě)測(cè)試 79
11.4 什么時(shí)候運(yùn)行測(cè)試 80
11.5 測(cè)試什么 81
11.6 優(yōu)質(zhì)的測(cè)試 81
11.7 一個(gè)具體的測(cè)試 83
11.8 測(cè)試的結(jié)構(gòu) 84
11.8.1 測(cè)試的維護(hù) 84
11.8.2 選擇測(cè)試框架 85
11.9 沒(méi)有代碼是孤島 85
11.10 結(jié)論 87
第 12 章 應(yīng)對(duì)復(fù)雜性 89
12.1 圓團(tuán) 90
12.2 案例學(xué)習(xí):降低圓團(tuán)復(fù)雜度 92
12.3 線(xiàn)條 93
12.4 人 96
12.5 結(jié)論 96
第 13 章 雙城故事 99
13.1 混亂大都市 100
13.1.1 讓人無(wú)法理解 100
13.1.2 缺乏內(nèi)聚 101
13.1.3 不必要的耦合 102
13.1.4 代碼問(wèn)題 102
13.1.5 代碼之外的問(wèn)題 103
13.1.6 一張來(lái)自大都市的明信片 103
13.2 設(shè)計(jì)之城 104
13.2.1 合理放置功能 105
13.2.2 一致性 105
13.2.3 架構(gòu)的演進(jìn) 105
13.2.4 延緩設(shè)計(jì)決策 106
13.2.5 保證質(zhì)量 106
13.2.6 管理技術(shù)債 107
13.2.7 測(cè)試方案設(shè)計(jì) 107
13.2.8 設(shè)計(jì)時(shí)間分配 108
13.2.9 與設(shè)計(jì)同行 108
13.3 那又怎樣 109
第二部分 刻意練習(xí),成就卓越
第 14 章 軟件開(kāi)發(fā)是…… 114
14.1 軟件(食物)那些事 114
14.2 軟件開(kāi)發(fā)是……藝術(shù) 115
14.3 軟件開(kāi)發(fā)是……科學(xué) 116
14.4 軟件開(kāi)發(fā)是……運(yùn)動(dòng) 118
14.5 軟件開(kāi)發(fā)是……做游戲 119
14.6 軟件開(kāi)發(fā)是……雞毛蒜皮的瑣事 120
14.7 隱喻過(guò)多 121
第 15 章 遵守規(guī)則 123
15.1 我們需要更多規(guī)則! 124
15.2 制定規(guī)則 125
第 16 章 保持簡(jiǎn)單 127
16.1 簡(jiǎn)單設(shè)計(jì) 128
16.1.1 簡(jiǎn)單易用 128
16.1.2 防止誤用 128
16.1.3 大小很重要 128
16.1.4 代碼調(diào)用路徑短 129
16.1.5 穩(wěn)定性 129
16.2 簡(jiǎn)單代碼 129
16.3 保持簡(jiǎn)單,別做蠢事 130
16.4 假設(shè)會(huì)損害簡(jiǎn)單性 130
16.5 避免過(guò)早優(yōu)化 130
16.6 足夠簡(jiǎn)單 131
16.7 簡(jiǎn)單結(jié)論 131
第 17 章 開(kāi)動(dòng)腦筋 133
17.1 別犯傻 133
17.2 避免盲目 134
17.3 你可以思考! 135
第 18 章 沒(méi)有一成不變 137
18.1 大膽地改 138
18.2 改變態(tài)度 139
18.3 做出改變 140
18.3.1 規(guī)劃改變 140
18.3.2 改變的工具 140
18.3.3 慎重地選擇戰(zhàn)場(chǎng) 141
18.4 萬(wàn)變不離其宗 141
第 19 章 代碼復(fù)用案例 143
19.1 代碼復(fù)用案例1:復(fù)制–粘貼 143
19.2 代碼復(fù)用案例2:為復(fù)用進(jìn)行設(shè)計(jì) 144
19.3 代碼復(fù)用案例3:提升和重構(gòu) 145
19.4 代碼復(fù)用案例4:購(gòu)買(mǎi)或重新發(fā)明輪子 145
第 20 章 高效版本控制 148
20.1 用進(jìn)廢退 149
20.2 隨便選一個(gè) 150
20.3 存儲(chǔ)正確之物 150
20.3.1 答案一:存儲(chǔ)所有 150
20.3.2 答案二:存儲(chǔ)盡可能少的文件 151
20.3.3 存儲(chǔ)軟件版本 152
20.3.4 代碼庫(kù)的布局 152
20.4 用好版本控制系統(tǒng) 152
20.4.1 原子提交 152
20.4.2 提供正確的信息 153
20.4.3 精心創(chuàng)建代碼提交 153
20.5 分支:只見(jiàn)樹(shù)木不見(jiàn)森林 154
20.6 代碼的家園 155
20.7 結(jié)論 155
第 21 章 讓球越過(guò)門(mén)柱 158
21.1 軟件開(kāi)發(fā):充滿(mǎn)有機(jī)肥料的管道 159
21.2 錯(cuò)誤的非黑即白 160
21.3 通過(guò)解決團(tuán)隊(duì)問(wèn)題來(lái)修復(fù)代碼問(wèn)題 161
21.4 將構(gòu)建發(fā)送給QA人員 162
21.4.1 首先進(jìn)行自測(cè) 163
21.4.2 明確發(fā)布意圖 163
21.4.3 欲速則不達(dá) 164
21.4.4 自動(dòng)化 164
21.4.5 尊重 164
21.5 當(dāng)你收到故障報(bào)告時(shí) 165
21.6 差異使我們更強(qiáng)大 166
21.7 拼圖的碎片 166
第 22 章 凍結(jié)代碼奇事 169
22.1 尋找代碼凍結(jié) 169
22.2 世界新秩序 170
22.3 凍結(jié)的類(lèi)型 171
22.4 采用分支解決問(wèn)題 172
22.5 不是真正凍結(jié) 172
22.6 代碼凍結(jié)的時(shí)間 173
22.7 感受代碼凍結(jié) 173
22.8 就快結(jié)束了 174
22.9 反代碼凍結(jié) 174
22.10 結(jié)論 175
第 23 章 軟件發(fā)布 177
23.1 流程的一部分 178
23.2 機(jī)器上的一個(gè)齒輪 179
23.2.1 第 1 步:初始化發(fā)布 179
23.2.2 第 2 步:準(zhǔn)備發(fā)布 179
23.2.3 第 3 步:構(gòu)建發(fā)布 180
23.2.4 第 4 步:打包 181
23.2.5 第 5 步:部署 181
23.3 早發(fā)布、勤發(fā)布 182
23.4 還有更多…… 182
第三部分 束身修行
第 24 章 做一個(gè)樂(lè)知者 186
24.1 學(xué)習(xí)什么 187
24.2 學(xué)習(xí)如何學(xué)習(xí) 188
24.3 學(xué)習(xí)模型 190
24.4 以教促學(xué) 192
24.5 知行合一 192
24.6 我們學(xué)到了什么 193
第 25 章 考試驅(qū)動(dòng)型程序員 195
25.1 把問(wèn)題講清楚 196
25.2 成功使人自滿(mǎn) 196
25.3 考試時(shí)光 197
25.4 考試驅(qū)動(dòng)型程序員 197
25.5 結(jié)論 198
第 26 章 享受挑戰(zhàn) 200
26.1 激勵(lì) 200
26.2 有哪些挑戰(zhàn) 201
26.3 是誰(shuí)在說(shuō):不要這么做! 201
26.4 接受挑戰(zhàn) 202
26.5 結(jié)論 203
第 27 章 避免停滯 204
27.1 技能就是你的投資 205
27.2 為本書(shū)讀者準(zhǔn)備的一個(gè)練習(xí) 205
27.3 職業(yè)安全 206
第 28 章 程序員的道德規(guī)范 209
28.1 對(duì)代碼的態(tài)度 210
28.2 法律問(wèn)題 211
28.3 對(duì)人的態(tài)度 211
28.3.1 隊(duì)友 212
28.3.2 管理者 213
28.3.3 雇主 213
28.3.4 你自己 214
28.4 希波克拉底誓言 214
28.5 結(jié)論 214
第 29 章 熱愛(ài)編程語(yǔ)言 217
29.1 熱愛(ài)所有的語(yǔ)言 217
29.2 熱愛(ài)你的語(yǔ)言 219
29.3 與編程語(yǔ)言磨合 220
29.3.1 愛(ài)和尊重 220
29.3.2 承諾 220
29.3.3 溝通 221
29.3.4 耐心 221
29.3.5 共同的價(jià)值觀(guān) 222
29.4 這是一個(gè)完美的比喻嗎 222
29.5 結(jié)論 222
第 30 章 程序員的姿態(tài) 224
30.1 基本的計(jì)算機(jī)操作姿態(tài) 224
30.1.1 調(diào)試代碼時(shí)的姿態(tài) 226
30.1.2 當(dāng)情況惡化時(shí) 227
30.1.3 通宵加班 227
30.1.4 高層介入干預(yù) 228
30.1.5 警報(bào)解除 228
30.1.6 設(shè)計(jì)階段 229
30.2 視覺(jué)疲勞 229
30.3 結(jié)論 230
第四部分 計(jì)日程功
第 31 章 用智不用力 234
31.1 慎選戰(zhàn)場(chǎng) 235
31.2 戰(zhàn)斗策略 235
31.2.1 復(fù)用智慧 235
31.2.2 轉(zhuǎn)變成別人的問(wèn)題 235
31.2.3 只做必須做的 236
31.2.4 使用探針試驗(yàn) 236
31.2.5 排優(yōu)先級(jí) 236
31.2.6 確認(rèn)什么是真正需要的 237
31.2.7 一次只做一件事 237
31.2.8 保持簡(jiǎn)單 237
31.2.9 不要拖延和積累問(wèn)題 238
31.2.10 自動(dòng)化 238
31.2.11 預(yù)防錯(cuò)誤 238
31.2.12 溝通 239
31.2.13 避免過(guò)度疲勞 239
31.2.14 強(qiáng)大的工具 239
31.3 結(jié)論 239
第 32 章 完成之際即完成 242
32.1 我們還沒(méi)到嗎 242
32.2 逆向開(kāi)發(fā):分解 243
32.3 定義“完成” 244
32.4 說(shuō)干就干 246
第 33 章 這次我明白了…… 249
33.1 荒島式開(kāi)發(fā) 251
33.2 站在山腳下 252
第五部分 覓良師益友
第 34 章 他人之力 256
34.1 如何實(shí)現(xiàn) 257
34.2 你心目中的專(zhuān)家 258
34.3 事后諸葛亮 258
第 35 章 至關(guān)重要的一個(gè)認(rèn)知 261
35.1 拓展這個(gè)隱喻 262
35.2 責(zé)任感是關(guān)鍵 262
35.3 代碼評(píng)審 263
35.4 落地 263
35.5 定標(biāo)準(zhǔn) 264
35.6 后續(xù)行動(dòng) 264
35.7 結(jié)論 265
第 36 章 說(shuō)出來(lái)! 267
36.1 編寫(xiě)代碼就是溝通 267
36.1.1 和機(jī)器說(shuō)話(huà) 267
36.1.2 和生靈說(shuō)話(huà) 268
36.1.3 和工具說(shuō)話(huà) 270
36.2 人與人之間的溝通 270
36.2.1 交談方式 270
36.2.2 注意你的言辭 271
36.2.3 肢體語(yǔ)言 271
36.2.4 并行溝通 272
36.3 團(tuán)隊(duì)之間的溝通 272
36.4 與客戶(hù)溝通 273
36.5 其他溝通 273
36.6 結(jié)論 273
第 37 章 各種宣言 276
37.1 軟件開(kāi)發(fā)通用宣言 277
37.2 就此打住 277
37.3 一些宣言 277
37.4 真是這樣嗎 277
37.5 畫(huà)龍點(diǎn)睛 278
第 38 章 代碼賦 281
后記 285

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)