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, 不知道相不相关
读后总结:
问题跟踪、结对编程、单元测试、重构代码、版本控制