1. 程式人生 > >讀書筆記 --《程序員的職業素養》

讀書筆記 --《程序員的職業素養》

們的 定義 不足 必須掌握 開始 面向 方法 系列 保持

專業主義:

每檢入一次代碼,就要讓它比上次檢出時變得更為簡潔。每次讀代碼,都別忘了進行點滴的改善。這完全與大多數人對軟件的理解相反。他們認為對可工作軟件不斷地做一系列修改是危險的。錯!讓軟件保持固定不變才是危險的!如果一直不重構代碼,等到最後不得不重構時,你就會發現代碼已經僵化了。對待代碼,就如同雕塑家對待泥巴那樣,要對它進行不斷的變形與塑造軟件開發必須精通事項:
  1. 設計模式
    1. 必須能描述GOF書中全部24種模式
    2. POSA書中的多數模式的實戰經驗
  2. 設計原則
    1. 必須了解SOLID原則,而且要深刻理解組件設計原則
  3. 方法
    1. 必須理解XP(extreme programming)
      Scrum精益看板瀑布結構化分析結構化設計
  4. 實踐
    1. 必須掌握測試驅動開發面向對象設計結構化編程持續集成結對編程
  5. 工件
    1. 必須了解如何使用UML圖DFD圖結構圖Petri網絡圖狀態遷移圖表流程圖決策表
堅持學習: 不寫代碼的架構師必然遭殃,不學習新語言的程序員同樣會遭殃,學不會新原則和技術的開發人員必將淪落練習: 業精於勤,真正的專業人士往往勤學苦幹,以求得自身技能的純熟精煉。只完成日常工作是不足以稱為練習的,那只能算是種執行性質的操作,而不是練習。練習,指的是在日常工作之余專門練習技能,以期自我提升
。 kata:一個有待解決的簡單編程問題,比如編寫計算拆分某個整數的素數因子等。做kata的目的不是找出解決方法,而是訓練你的手指和大腦。不妨早晚都來個10分鐘的kata吧,把它當作熱身練習或者靜心過程合作: 學習的第二個最佳方法是與他人合作。專業軟件開發人員往往會更加努力地嘗試與他人一起編程。專業人士會視輔導新人為己任,他們不會放任未經輔導的新手亂打亂撞了解業務領域: 每位專業軟件開發人員都有義務了解自己開發的解決方案所對應的業務領域。開始一個新領域的項目時,應當讀一兩本該領域相關的書,要就該領域的基礎架構基本知識
作客戶和用戶訪談,還應當花時間和業內專家交流,了解她們的原則與價值觀念。最糟糕最不專業的做法是,簡單按照規格說明來編寫代碼,但對為什麽那些業務需要那樣的規格定義不求甚解。相反,你應該對這一領域有所了解,能辨別,質疑規格說明書中的錯誤 與雇主,客戶保持一致: 雇主的問題就是你的問題,你必須弄明白這些問題,並尋求最佳的解決方案。每次開發系統,都應該站在雇主的角度來思考,確保開發的功能真正能滿足雇主的需要“為什麽”遠不如事實重要。闡述事實以及其更多的細節 成為英雄及“解決問題”的誘惑誠然巨大,只是我們要明白,委屈專業原則以求全,並非問題的解決之道。舍棄這些原則,只會制造出更多的麻煩。 口頭上說。心裏認真。付諸行動: 專業人士不需要對所有請求都回答是。不過,他們應該努力尋找創新的方法,盡可能做到有求必應。當專業人士給出肯定回答時,他們會使用承諾用語,以確保各方能明白無誤地理解承諾內容。 要精熟掌握每項技藝,關鍵都是要具備“信心”和“出錯感知”能力。

讀書筆記 --《程序員的職業素養》