http://www.infoworld.com/d/developer-world/the-7-deadly-sins-software-development-872?page=0,1
Lust (overengineering)
- 不要過度設計
-
Shipping is a feature
. A really important feature. Your product must have it.
Gluttony (failing to refactor
)
- 持續重構代碼
- Clients may see only the new features in each release, but over the long term, they'll thank you for keeping off the fat.
Greed (competing across teams)
- 避免重複開發
- Share and share alike should be your motto
Sloth (not validating inputs)
- 介面/服務 輸入驗證
- Remember, a Web form that uses JavaScript to validate its inputs can be
easily sidestepped by disabling JavaScript in the browser or not using a
browser to access it at all.
- 這個.... 是個問題,不過算到七宗罪裡,是不是有點過?
Wrath (not commenting code)
- Code is its own best documentation of what it does
; comments should be there to explain the why
- 代碼的可讀性並不能解決業務的邏輯複雜性
Envy (not using version control)
- 持續版本控制,
- 不一定非要是代碼。編程手冊、技術文檔、專案提案、人事安排為什麼不可以版本控制呢?
Pride (not unit testing)
- 持續單元測試
- 測試先行
- Computational science: ...Erro
r, 不知道相不相關
讀後總結:
問題跟蹤、結對程式設計、單元測試、重構代碼、版本控制