作品介紹

程序員的職業(yè)素養(yǎng)


作者:RobertC.Martin     整理日期:2017-02-19 22:26:11


  本書是編程大師Bob 大叔40 余年編程生涯的心得體會(huì), 講解成為真正專業(yè)的程序員需要什么樣的態(tài)度、原則,需要采取什么樣的行動(dòng)。作者以自己以及身邊的同事走過的彎路、犯過的錯(cuò)誤為例,意在為后來人引路,助其職業(yè)生涯邁上更高臺(tái)階。
  本書適合所有程序員,也可供所有想成為具備職業(yè)素養(yǎng)的職場人士參考。

作者簡介:
  Robert C. Martin,世界級(jí)軟件開發(fā)大師,設(shè)計(jì)模式和敏捷開發(fā)先驅(qū),敏捷聯(lián)盟首任主席,C++ Report 前主編,被后輩程序員尊稱為“Bob大叔”。20世紀(jì)70年代初成為職業(yè)程序員,后創(chuàng)辦Object Mentor公司并任總裁。Martin還是一名多產(chǎn)的作家,至今已發(fā)表數(shù)百篇文章、論文和博客,除本書外,還著有《代碼整潔之道》、《敏捷軟件開發(fā):原則、模式和實(shí)踐》、《UML:Java程序員指南》等。他最近創(chuàng)辦了cleancoders.com網(wǎng)站,專為軟件開發(fā)人員提供教育視頻。
  章顯洲,阿里巴巴高級(jí)技術(shù)專家,敏捷與精益方法實(shí)踐者,專注于敏捷與精益管理,擅長互聯(lián)網(wǎng)研發(fā)團(tuán)隊(duì)的構(gòu)建與改善。業(yè)余以技術(shù)翻譯作為個(gè)人修煉與回饋軟件開發(fā)社區(qū)的途徑。自2009年來,翻譯和合譯的技術(shù)書籍包含《精益軟件開發(fā)藝術(shù)》、《微軟的秘密》、《軟件架構(gòu)師應(yīng)該知道的97件事》、《程序員的職業(yè)素養(yǎng)》、《看板》。偶爾也會(huì)出現(xiàn)在技術(shù)社區(qū)的聚會(huì)上作一些分享和演講。博http://genericbrain.com 。新浪微博@章顯洲-Arthur。
  余晟,畢業(yè)于東北師范大學(xué)計(jì)算機(jī)系,副修中文,非正統(tǒng)型技術(shù)愛好者。曾任抓蝦網(wǎng)、銀杏泰克主力程序員,盛大創(chuàng)新院高級(jí)研究員,現(xiàn)任華南某電商公司技術(shù)總監(jiān)。堅(jiān)信計(jì)算機(jī)可以無限延伸人的能力,前提是人必須理解計(jì)算機(jī)的邏輯,所以對(duì)任何技術(shù)都不應(yīng)該淺嘗輒止,僅僅滿足于“會(huì)用”。

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





上一本:經(jīng)濟(jì)學(xué)思想史講義 下一本:圖靈的秘密

作家文集

下載說明
程序員的職業(yè)素養(yǎng)的作者是RobertC.Martin,全書語言優(yōu)美,行文流暢,內(nèi)容豐富生動(dòng)引人入勝。為表示對(duì)作者的支持,建議在閱讀電子書的同時(shí),購買紙質(zhì)書。

更多好書