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. 及時通報進展與問題
主動通報,不要讓別人來問你。