转:优秀程序员的45个习惯
今天看到這篇文章,覺得有我們要學習的地方,不過有幾條不大符合中國的國情!!!
拿過來給大家看看。
?
優秀來自好的習慣。怎樣成為優秀的開發人員?圖靈公司最近熱銷的《高效程序員的45個習慣》一書給出了很好的解答,非常值得一讀。
這本書的英文原版榮 獲了有軟件奧斯卡之稱的Jolt生產效率大獎,在Amazon上也是好評如潮。第一作者Venkat Subramaniam博士是Agile Developer公司創始人,敏捷開發方面的權威人士,精通各種開發技術。第二作者Andy Hunt更是大名鼎鼎的人物,是敏捷宣言的創始人,著名圖書出版公司Pragmatic Programmers的創始人。他有兩本書大家應該都是知道:經典的Ruby教程《Programming Ruby》還有許多開發人員的最愛《程序員修煉之道》。
譯者團隊則由著名的敏捷咨詢公司ThoughtWorks咨詢師錢安川和InfoQ中文站敏捷社區首席編輯、《程序員》雜志前副主編鄭柯組成,可以信賴。
值得一提的是,這本書很像《程序員修煉之道》在敏捷時代的續篇。風格和寫法都很神似。下面是從書中摘出的45個習慣標題,每個標題下面的文字是我讀此書的筆記摘要。另外,圖靈公司還在官方博客上提供了幾個章節免費閱讀(下面給出了鏈接)。
強烈推薦大家將這些打印出來,貼在自己的辦公桌旁邊的墻上,學習實踐。
態度篇
1. 做實事
不要抱怨,發牢騷,指責他人,找出問題所在,想辦法解決。對問題和錯誤,要勇于承擔。
2. 欲速則不達
用小聰明、權宜之計解決問題,求快而不顧代碼質量,會給項目留下要命的死角。
3. 對事不對人
就事論事,明智、真誠、虛心地討論問題,提出創新方案。
4. 排除萬難,奮勇前進
勇氣往往是克服困難的唯一方法。
學習篇
5. 跟蹤變化
新技術層出不窮并不可怕。堅持學習新技術,讀書,讀技術雜志,參加技術活動,與人交流。要多理解新詞背后的所以然,把握技術大趨勢,將新技術用于產品開發要謹慎。
6. 對團隊投資
打造學習型團隊,不斷提高兄弟們的平均水平。
7. 懂得丟棄
老的套路和技術,該丟,就得丟。不要固步自封。
8. 打破砂鍋問到底
不斷追問,真正搞懂問題的本質。為什么?應該成為你的口頭禪。
9. 把握開發節奏
控制好時間,養成好習慣,不要加班。
開發流程篇
10. 讓客戶做決定
讓用戶在現場,傾聽他們的聲音,對業務最重要的決策應該讓他們說了算。
11. 讓設計指導而不是操縱開發
設計是前進的地圖,它指引的是方向,而不是目的本身。設計的詳略程度應該適當。
12. 合理地使用技術
根據需要而不是其他因素選擇技術。對各種技術方案進行嚴格地追問,真誠面對各種問題。
13. 讓應用隨時都可以發布
通過善用持續集成和版本管理,你應該隨時都能夠編譯、運行甚至部署應用。
14. 提早集成,頻繁集成
集成有風險,要盡早盡量多地集成。
15. 提早實現自動化部署
16. 使用演示獲得頻繁反饋
17. 使用短迭代,增量發布
18. 固定價格就意味著背叛承諾
估算應該基于實際的工作不斷變化。
用戶篇
19. 守護天使
自動化單元測試是你的守護天使。
20. 先用它再實現它
測試驅動開發其實是一種設計工具。
21. 不同環境,就有不同問題
要重視多平臺問題。
22. 自動驗收測試
23. 度量真實的進度
在工作量估算上,不要自欺欺人。
24. 傾聽用戶的聲音
每一聲抱怨都隱藏著寶貴的真理。
編程篇
25. 代碼要清晰地表達意圖(免費樣章鏈接)
代碼是給人讀的,不要耍小聰明。
26. 用代碼溝通
注釋的藝術。
27. 動態地進行取舍(免費樣章鏈接)
記住,沒有最佳解決方案。各種目標不可能面面俱到,關注對用戶重要的需求。
28. 增量式編程
寫一點代碼就構建、測試、重構、休息。讓代碼干凈利落。
29. 盡量簡單
寧簡勿繁。如果沒有充足的理由,就不要使用什么模式、原則和特別的技術。
30. 編寫內聚的代碼
類和組件應該足夠小,任務單一。
31. 告知,不要詢問
多用消息傳遞,少用函數調用。
32. 根據契約進行替換
委托往往優于繼承。
調試篇
33. 記錄問題解決日志(免費樣章鏈接)
不要在同一地方摔倒兩次。錯誤是最寶貴的財富。
34. 警告就是錯誤
忽視編譯器的警告可能鑄成大錯。
35. 對問題各個擊破(免費樣章鏈接)
分而治之是計算機科學中最重要的思想之一。但是,要從設計和原型階段就考慮各部分應該能夠很好地分離。
36. 報告所有的異常
37. 提供有用的錯誤信息(免費樣章鏈接)
稍微多花一點心思,出錯的時候,將給你帶來極大便利。
團隊協作篇
38. 定期安排會面時間
常開會,開短會。
39. 架構師必須寫代碼(免費樣章鏈接)
不寫代碼的架構師不是好架構師。好的設計都來自實際編程。編程可以帶來深入的理解。
40. 實行代碼集體所有制
讓開發人員在系統不同區域中不同的模塊和任務之間輪崗。
41. 成為指導者
教學相長。分享能提高團隊的總體能力。
42. 讓大家自己想辦法(免費樣章鏈接)
指引方向,而不是直接提供解決方案。讓每個人都有機會在干中學習。
43. 準備好后再共享代碼
不要提交無法編譯或者沒有通過單元測試的代碼!
44. 做代碼復查
復查對提高代碼質量、減少錯誤極為重要。
45. 及時通報進展與問題(免費樣章鏈接)
主動通報,不要讓別人來問你。
轉載于:https://www.cnblogs.com/hsj2010/archive/2010/04/23/1719004.html
總結
以上是生活随笔為你收集整理的转:优秀程序员的45个习惯的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 多线程编程(4) - 多线程同步之 Mu
- 下一篇: 买了一台Iphone6P知道是A1524