1. 程式人生 > >程序員的職業素養pdf

程序員的職業素養pdf

com 保持 設計 bob link 架構 互聯網 技術 先驅

下載地址:網盤下載

內容簡介 · · · · · ·

本書是編程大師Bob 大叔40 余年編程生涯的心得體會, 講解成為真正專業的程序員需要什麽樣的態度、原則,需要采取什麽樣的行動。作者以自己以及身邊的同事走過的彎路、犯過的錯誤為例,意在為後來人引路,助其職業生涯邁上更高臺階。

本書適合所有程序員,也可供所有想成為具備職業素養的職場人士參考。

作者簡介 · · · · · ·

Robert C. Martin,世界級軟件開發大師,設計模式和敏捷開發先驅,敏捷聯盟首任主席,C++ Report 前主編,被後輩程序員尊稱為“Bob大叔”。20世紀70年代初成為職業程序員,後創辦Object Mentor公司並任總裁。Martin還是一名多產的作家,至今已發表數百篇文章、論文和博客,除本書外,還著有《代碼整潔之道》、《敏捷軟件開發:原則、模式和實踐》、《UML:Java程序員指南》等。他最近創辦了cleancoders.com網站,專為軟件開發人員提供教育視頻。

章顯洲,阿裏巴巴高級技術專家,敏捷與精益方法實踐者,專註於敏捷與精益管理,擅長互聯網研發團隊的構建與改善。業余以技術翻譯作為個人修煉與回饋軟件開發社區的途徑。自2009年來,翻譯和合譯的技術書籍包含《精益軟件開發藝術》、《微軟的秘密》、《軟件架構師應該知道的97件事》、《程序員的職業素養》、《看板》。偶爾也會出現在技術社區的聚會上作一些分享和演講。博http://genericbrain.com 。新浪微博@章顯洲-Arthur。

余晟,畢業於東北師範大學計算機系,副修中文,非正統型技術愛好者。曾任抓蝦網、銀杏泰克主力程序員,盛大創新院高級研究員,現任華南某電商公司技術總監。堅信計算機可以無限延伸人的能力,前提是人必須理解計算機的邏輯,所以對任何技術都不應該淺嘗輒止,僅僅滿足於“會用”。

目錄 · · · · · ·

目 錄
第1章  專業主義  1
1.1  清楚你要什麽  2
1.2  擔當責任  2
1.3  首先,不行損害之事  4
1.3.1  不要破壞軟件功能  4
1.3.2  不要破壞結構  7
1.4  職業道德  8
1.4.1  了解你的領域  10
1.4.2  堅持學習  11
1.4.3  練習  11
1.4.4  合作  12
1.4.5  輔導  12
1.4.6  了解業務領域  13
1.4.7  與雇主/客戶保持一致  13
1.4.8  謙遜  13
1.5  參考文獻  14
第2章  說“不”  15
2.1  對抗角色  17
2.2  高風險時刻  20
2.3  要有團隊精神  22
2.3.1  試試看  24
2.3.2  消極對抗  25
2.4  說“是”的成本  27
2.5  如何寫出好代碼  34
第3章  說“是”  37
3.1  承諾用語  39
3.1.1  識別“缺乏承諾”的征兆  40
3.1.2  真正的承諾聽起來是怎樣的  41
3.1.3  總結  43
3.2  學習如何說“是”  43
3.2.1  “試試”的另一面  43
3.2.2  堅守原則  44
3.3  結論  47
第4章  編碼  48
4.1  做好準備  49
4.1.1  淩晨3點寫出的代碼  50
4.1.2  焦慮時寫下的代碼  51
4.2  流態區  53
4.2.1  音樂  54
4.2.2  中斷  55
4.3  阻塞  55
4.4  調試  57
4.5  保持節奏  60
4.5.1  知道何時應該離開一會  60
4.5.2  開車回家路上  61
4.5.3  洗澡  61
4.6  進度延遲  61
4.6.1  期望  62
4.6.2  盲目沖刺  62
4.6.3  加班加點  63
4.6.4  交付失誤  63
4.6.5  定義“完成”  64
4.7  幫助  64
4.7.1  幫助他人  64
4.7.2  接受他人的幫助  65
4.7.3  輔導  66
4.8  參考文獻  66
第5章  測試驅動開發  67
5.1  此事已有定論  69
5.2  TDD的三項法則  69
5.3  TDD的優勢  70
5.3.1  確定性  70
5.3.2  缺陷註入率  71
5.3.3  勇氣  71
5.3.4  文檔  72
5.3.5  設計  72
5.3.6  專業人士的選擇  73
5.4  TDD的局限  73
5.5  參考文獻  74
第6章  練習  75
6.1  引子  75
6.1.1  10的22次方  76
6.1.2  轉變  77
6.2  編程柔道場  79
6.2.1  卡塔  80
6.2.2  瓦薩  81
6.2.3  自由練習  81
6.3  自身經驗的拓展  82
6.3.1  開源  82
6.3.2  關於練習的職業道德  82
6.4  結論  83
6.5  參考文獻  83
第7章  驗收測試  84
7.1  需求的溝通  84
7.1.1  過早精細化  86
7.1.2  遲來的模糊性  87
7.2  驗收測試  89
7.2.1  “完成”的定義  89
7.2.2  溝通  91
7.2.3  自動化  92
7.2.4  額外工作  93
7.2.5  驗收測試什麽時候寫,由誰來寫  93
7.2.6  開發人員的角色  94
7.2.7  測試的協商與被動推進  95
7.2.8  驗收測試和單元測試  96
7.2.9  圖形界面及其他復雜因素  97
7.2.10  持續集成  98
7.3  結論  98
第8章  測試策略  99
8.1  QA應該找不到任何錯誤  100
8.1.1  QA也是團隊的一部分  100
8.1.2  需求規約定義者  100
8.1.3  特性描述者  100
8.2  自動化測試金字塔  101
8.2.1  單元測試  101
8.2.2  組件測試  102
8.2.3  集成測試  103
8.2.4  系統測試  104
8.2.5  人工探索式測試  104
8.3  結論  105
8.4  參考文獻  105
第9章  時間管理  106
9.1  會議  107
9.1.1  拒絕  107
9.1.2  離席  108
9.1.3  確定議程與目標  109
9.1.4  立會  109
9.1.5  叠代計劃會議  109
9.1.6  叠代回顧和DEMO展示  110
9.1.7  爭論/反對  110
9.2  註意力點數  111
9.2.1  睡眠  112
9.2.2  咖啡因  112
9.2.3  恢復  112
9.2.4  肌肉註意力  112
9.2.5  輸入與輸出  113
9.3  時間拆分和番茄工作法  113
9.4  要避免的行為  114
9.5  死胡同  115
9.6  泥潭  115
9.7  結論  116
第10章  預估  117
10.1  什麽是預估  119
10.1.1  承諾  119
10.1.2  預估  120
10.1.3  暗示性承諾  121
10.2  PERT  122
10.3  預估任務  125
10.4  大數定律  127
10.5  結論  127
10.6  參考文獻  128
第11章  壓力  129
11.1  避免壓力  131
11.1.1  承諾  131
11.1.2  保持整潔  132
11.1.3  危機中的紀律  132
11.2  應對壓力  133
11.2.1  不要驚慌失措  133
11.2.2  溝通  133
11.2.3  依靠你的紀律原則  133
11.2.4  尋求幫助  134
11.3  結論  134
第12章  協作  135
12.1  程序員與人  137
12.1.1  程序員與雇主  137
12.1.2  程序員與程序員  140
12.2  小腦  142
12.3  結論  143
第13章  團隊與項目  144
13.1  只是簡單混合嗎  144
13.1.1  有凝聚力的團隊  145
13.1.2  如何管理有凝聚力的團隊  146
13.1.3  項目承包人的困境  147
13.2  結論  148
13.3  參考文獻  148
第14章  輔導、學徒期與技藝  149
14.1  失敗的學位教育  149
14.2  輔導  150
14.2.1  DIGI-COMP I, 我的第一臺計算機  150
14.2.2  高中時代的ECP-18  152
14.2.3  非常規輔導  154
14.2.4  艱難的錘煉  155
14.3  學徒期  156
14.3.1  軟件學徒期  158
14.3.2  現實情況  159
14.4  技藝  160
14.5  結論  161
附錄  工具  162

下載地址:網盤下載

程序員的職業素養pdf