程序员的职业素养-读书笔记
生活随笔
收集整理的這篇文章主要介紹了
程序员的职业素养-读书笔记
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
為什么80%的碼農(nóng)都做不了架構(gòu)師?>>> ??
? ? 花三分的力氣去抵制無理的需求,可以節(jié)省十分甚至二十分的開發(fā)時間。?引言
? ? 辭職是突然的,而且是有預(yù)謀的。
? ? 辭職前一定要找好下家,要非常冷靜,非常趁著,不要拉上其他人。
第1章 ? 專業(yè)主義
? ? 專業(yè)主義的精髓就在于將公司的利益視同個人利益。專業(yè)主義就意味著擔(dān)當(dāng)責(zé)任。
? ? 未進行測試就交付軟件就是不負(fù)責(zé)任的。
? ? 軟件開發(fā)太復(fù)雜了,不可能沒什么Bug。單很不幸,這并不能為你開脫。
? ? 代碼中難免會出現(xiàn)bug,單著并不意味著你不用對他們負(fù)責(zé);沒人能寫出完美的軟件,但這并不表示你不用對不完美負(fù)責(zé)。
? ? 所謂專業(yè)人士,就是能對自己犯下的錯誤負(fù)責(zé)的人,哪怕那些錯誤實際上在所難免。
? ? 失誤率永遠(yuǎn)不可能等于零,但你有責(zé)任讓它無限接近零。
? ? 讓QA找不出任何問題,要確信代碼正常運行,自動化QA。
? ? 如果你有一套覆蓋了全部代碼的自動化測試,如果那套測試可以隨時快速執(zhí)行,那么你根本不會害怕修改代碼。
? ? 職業(yè)發(fā)展是你自己的事。雇主沒有義務(wù)確保你在職場能夠立于不敗之地,也沒有義務(wù)培訓(xùn)你,送你參加各種會議或給你買各種書籍充電。
? ? 將自己的職業(yè)發(fā)展寄希望與雇主的軟件開發(fā)人員將會很慘。
? ? 不能銘記過去的人,注定重蹈先人的覆轍。
? ? 每個專業(yè)開發(fā)人員必須精通的事項:設(shè)計模式、設(shè)計原則、方法、實踐和工件。
? ? 不寫代碼的架構(gòu)師必然遭殃,他們很快會發(fā)現(xiàn)自己跟不上時代了;不學(xué)習(xí)新語言的程序員同樣會遭遇,他們只能眼睜睜看著軟件行業(yè)徑直向前,把自己拋在后面。
? ? 聯(lián)系、合作、輔導(dǎo)、了解業(yè)務(wù)領(lǐng)域、與雇主/客戶保持一致、謙遜、
第2章 ? 說“不”
? ? “能就是能,不能就是不能。不要說‘試試看’。”
? ? 如果他們是專業(yè)程序員的話,他們也會竭盡所能地去追求和捍衛(wèi)自身的目標(biāo)。
? ? 要有團隊精神。
? ? 許諾“嘗試”,就意味著你承認(rèn)自己之前未盡全力,承認(rèn)自己還有余力可施。
? ? 盡管客戶一再聲明交付日期很重要,盡管他們對此表現(xiàn)得似乎非常迫切,但他們永遠(yuǎn)不會像你那樣在乎應(yīng)用程序的按時交付。
? ? 專業(yè)人士常常會成為英雄人物,但這樣的榮譽并非是他們所可以追求的。
? ? 成為英雄及“解決問題”的誘惑誠然巨大,只是我們要明白,委屈專業(yè)原則以求全,并非問題的解決之道。舍棄這些原則,只會制造出更多的麻煩。
第3章 ? 說“是”
? ? 作出承諾,包含三個步驟:
? ? ? ? 1. 口頭上說自己將會去做。
? ? ? ? 2. 心里認(rèn)真對待做出的承諾。
? ? ? ? 3. 真正付諸行動。
? ? 你只能承諾自己能完全掌控的事。
? ? 如果你無法兌現(xiàn)承諾,那么最重要的就是盡早向你的承諾對象發(fā)出預(yù)警,越快越好,越早越好。
? ? 做出承諾或許聽起來令人有點害怕,但它能夠幫助程序員解決在溝通中可能發(fā)生的不少問題。如果你能夠一直信守承諾,大家會以為你“是一名嚴(yán)謹(jǐn)負(fù)責(zé)的開發(fā)人員”。
? ? 專業(yè)人士不需要對所有請求都回答“是”。不過,他們應(yīng)該努力尋找創(chuàng)新的方法,盡可能做到有求必應(yīng)。
第4張 ? 編碼
? ? 首先,代碼必須能夠正常工作。代碼必須能夠幫你解決客戶提出的問題。代碼必須要能和現(xiàn)有系統(tǒng)結(jié)合的天衣無縫。其他程序員必須能讀懂你的代碼。
? ? 如果感到疲勞或者心煩意亂,千萬不要編碼。
? ? 在聽音樂時無法寫好代碼。音樂并沒有幫助我專注與編碼。事實上,聽音樂似乎消耗了至為重要的一部分腦力資源,而這些資源本該用于編寫設(shè)計良好的整潔代碼。
? ? 中斷無法避免,總有干擾會打斷你、消耗你的時間。發(fā)生這種情況時,要記住一點,也許下次會輪到你去打斷別人請求幫助。因此,禮貌地表現(xiàn)出樂于助人的態(tài)度才是專業(yè)的態(tài)度。
? ? 對于公司來講,調(diào)試時間和編碼時間一樣昂貴。
? ? 絕對的零調(diào)試時間是一個理想化的目標(biāo),無法達(dá)到,但要將之作為努力方向。
? ? 可以通過創(chuàng)建一個確切定義的“完成”標(biāo)準(zhǔn)來避免交付失誤。最好的方法是讓業(yè)務(wù)分析師和測試人員創(chuàng)建一個自動化的驗收測試,只用通過這些驗收測試,開發(fā)任務(wù)才能算已經(jīng)完成。
? ? 編程很難,事實上,僅憑一己之力無法編寫出優(yōu)秀的代碼。即使你的技能格外高超,也肯定能從另一個名稱需要的思考與想法中獲益。
第5章 ? 測試驅(qū)動開發(fā)
第6章 ? 練習(xí)
? ? 現(xiàn)在我們有了更好的工具,更好的語言。可是,語句的本質(zhì)并沒有隨著時間而改變。20世紀(jì)60年代的程序員完全可以看懂2012年的代碼。我們真正打交道的東西,40年來沒有多少改變。
? ? 任何事情,要想做得快,都離不開聯(lián)系。
? ? 無論如何,專業(yè)人士都需要練習(xí)。練習(xí)的時候你是賺不到錢的,但是聯(lián)系之后,你會獲得回報,而且豐厚的回報。
第7章 ? 驗收測試
? ? 做業(yè)務(wù)的人和寫程序的人都容易陷入一個陷阱,即過早進行精細(xì)化。
? ? 完成意味著所有的代碼都寫完了,所有的測試都通過了,QA和需求方已經(jīng)認(rèn)可。這,才是完成。
第8章 ? 測試策略
? ??
第9章 ? 時間管理
? ? 關(guān)于會議,有兩條真理:會議是必備的,會議浪費了大量的時間。
? ? 邀請你參加會議的人并不負(fù)責(zé)管理你的時間,為時間負(fù)責(zé)的只有你。所以,如果你收到會議邀請,務(wù)必確保出席會議可以給自己目前的工作帶來切實且顯著的成效,否則不必參加。
? ? 如果會議讓人厭煩,就離席。
? ? 凡是不能再5分鐘內(nèi)解決的爭論,都不能靠辯說解決。
? ? 編程是需要持續(xù)投入精力和注意力的智力活動,注意力是稀缺的資源。
? ? 睡眠的重要性怎么強調(diào)都不為過。
? ? 太多的咖啡因會把你的注意力偏轉(zhuǎn)到奇怪的方向。
? ? 所有軟件開發(fā)者都要遇到死胡同。慎重的態(tài)度和積累的經(jīng)驗可以幫你避免某些死胡同,但是沒法完全避免所有的。所以你真正需要的是,在走入死胡同同時可以迅速意識到,并有足夠的勇氣走回頭路。這就是所謂的坑法則:如果你掉進了坑里,別挖。
? ? 最糟糕的事情,莫過于看到一群開發(fā)人員在徒勞地拼力工作,結(jié)果卻陷入越來越深的泥潭。
第10章 ?預(yù)估
? ? 預(yù)估是業(yè)務(wù)人員和開發(fā)人員之間最主要的障礙,橫亙在雙方之間的種種不信任,幾乎都由它引發(fā)。
? ? 承諾是關(guān)于確定性的。其他人會把你的承諾當(dāng)真,據(jù)此擬定計劃。
? ? 預(yù)估是一種猜測。它不包含任何承諾的色彩。它不需要做任何約定。預(yù)估錯誤無關(guān)聲譽。我們之所以要預(yù)估,是因為不知道到底要花費多少時間。
? ? 專業(yè)開發(fā)人員能夠清楚區(qū)分預(yù)估和承諾。只有在確切知道可以完成的前提下,他們才會給出承諾。此外,他們也會小心避免給出暗示性的承諾。他們會盡可能清楚地說明預(yù)估的概率分布,這樣主管就可以做出合適的計劃。
第11章 ?壓力
? ? 應(yīng)對壓力的訣竅在于,能回避壓力時盡可能地回避,當(dāng)無法回避時則勇敢直面壓力。可以通過慎重承諾、遵循自己的紀(jì)律原則、保持整潔等來回避壓力。直面壓力時,則要保持冷靜,與別人多多溝通,堅守自己的原則記錄,并尋求他人的幫助。
? ??
第12章 ?協(xié)作
? ? 對做的事情充滿激情是好的,但是,最好把注意力集中在付我們薪水的老板所追求的目標(biāo)上。
? ? 專業(yè)程序員的首要職責(zé)是滿足雇主的需求。
? ? 你需要理解手上正在編寫的代碼的業(yè)務(wù)價值是什么,了解你的企業(yè)將如何從你的工作中獲得回報。
? ? 如果我們真想終生能以編程度日,那么,一定要學(xué)會交流——和人們交流。
第13章 ?團隊與項目
? ? 專業(yè)的開發(fā)組織會把項目分配給已形成凝聚力的團隊,而不會圍繞著項目來組建團隊。
第14章 ?輔導(dǎo)、學(xué)徒期與技藝
? ? 學(xué)校能夠傳授的是計算機編程的理論。但是學(xué)校并不會也無法傳授作為一名編程匠者所掌握的原則、實踐和技能。
分享該書的共享下載地址? http://pan.baidu.com/share/link?shareid=1591147589&uk=2167302790
轉(zhuǎn)載于:https://my.oschina.net/bery/blog/158818
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的程序员的职业素养-读书笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在Linux里设置环境变量的方法(exp
- 下一篇: pysqlite