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