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