前段時間閱讀了《代碼整潔之道:程序員的職業(yè)素養(yǎng)》這本出自Uncle Bob的書籍雷客,全書不足200頁线婚,內(nèi)容很精簡,主要用作者40多年的職業(yè)生涯為例子,講述一個專業(yè)的程序員面對工作時所應(yīng)保持的態(tài)度和處事方法盆色,讀后獲益良多,有必要記錄下來腹缩,以加強(qiáng)記憶方便日后推進(jìn)自己的工作旨剥。
全書圍繞關(guān)鍵詞“專業(yè)精神”進(jìn)行展開,大綱如下:
1凡泣、專業(yè)主義
專業(yè)主義意味著擔(dān)當(dāng)和責(zé)任枉疼,不做破壞之事(不破壞代碼、不破壞程序結(jié)構(gòu))鞋拟,有良好的職業(yè)道德(雇主出錢骂维,所以需要付出相應(yīng)的時間和精力,工作時間之外要保持自學(xué)以提升個人職業(yè)技能)贺纲,要站在雇主和客戶的方向思考問題和解決問題航闺,要保持謙遜,務(wù)實沉穩(wěn)。
2潦刃、敢于說“不”和說“是”
說“不”并不意味著充滿對抗和沖突侮措,“不”意味著識別風(fēng)險,是對工作的負(fù)責(zé)乖杠。避免回應(yīng)“試試看”分扎,“試試看”意味著對時間和風(fēng)險的不確定預(yù)估,后果會很嚴(yán)重胧洒。說“不”畏吓,可以讓你更專注工作和提升代碼的質(zhì)量。
說“是”意味著作出了承諾卫漫,承諾后需要盡可能地將事情做好菲饼,承諾時需要堅守原則,并非一切按照需求方的要求做事列赎。
3巴粪、編碼
編碼前要理解不要處理的問題,要和現(xiàn)有的系統(tǒng)和諧共處粥谬,要讓其他程序員能不懂你寫的代碼肛根。避免在休息時間編碼,避免在焦慮時繼續(xù)編碼漏策,避免進(jìn)入“流態(tài)區(qū)”而忽略真正需要解決的問題派哲,避免帶著耳機(jī)編碼(excuse me?)掺喻。當(dāng)感到無法進(jìn)行下去時芭届,應(yīng)離開片刻,注重“結(jié)對編程”的實踐感耙。保持良好的編碼節(jié)奏褂乍。對外來的求助干擾要表示理解。
4即硼、測試驅(qū)動開發(fā)(TDD)
TDD三項法則:
(1)在編好失敗單元測試之前逃片,不要編寫任何代碼
(2)只要有一個單元測試失敗了,就不要再寫測試代碼只酥;無法通過編譯也是一種失敗情況
(3)產(chǎn)品代碼恰好能夠讓當(dāng)前失敗的單元測試成功通過即可褥实,不要多寫
5、練習(xí)
講真裂允,我不明白這章為什么要寫這么多武術(shù)的內(nèi)容损离,是證明和練武一樣,練得多了绝编,就會越來越6嗎僻澎?
6貌踏、驗收測試
這里強(qiáng)調(diào)的是對需求的理解,強(qiáng)調(diào)溝通對項目和工作的重要性窟勃。
7祖乳、測試策略
這里強(qiáng)調(diào)的是整個測試過程中各個角色所處的位置以及需要完成的內(nèi)容。
單元測試:開發(fā)人員編碼過程中進(jìn)行
組件測試:聯(lián)調(diào)API
集成測試:對組件進(jìn)行集成后拳恋,再對API進(jìn)行聯(lián)調(diào)
系統(tǒng)測試:系統(tǒng)整體運行,對GUI進(jìn)行測試
人工探索式測試:投入人力資源對系統(tǒng)進(jìn)行人工測試
8砸捏、時間管理
會議的必要性谬运,注意力點數(shù)(人在不同的精神狀態(tài)下,注意力的集中度會不同)垦藏,番茄工作法的定義和應(yīng)用梆暖,避免進(jìn)入死胡同,遇到泥潭應(yīng)立即停止掂骏。
9轰驳、預(yù)估
講真,雖然這章說了很多公式弟灼,但真正實踐起來级解,經(jīng)驗才是比較靠譜的判斷標(biāo)準(zhǔn)。
10田绑、壓力管理
程序員沒有壓力是不存在的勤哗。面對壓力應(yīng)該堅守紀(jì)律,不要驚慌失措掩驱,保持和團(tuán)隊的溝通芒划,尋求幫助
11、協(xié)作
講述程序員和工作中的各個角色打交道欧穴。
12民逼、項目和團(tuán)隊
這里有點項目管理方面的內(nèi)容了。
閱畢