史上最最佳软件开发实践指导(转载)
- 给人写程序,而不是给计算机。
- 一个程序,对于阅读它的人来说,不应该要求读者一次性的在大脑里加载过多的背景/相关知识。 命名需要一贯、明确、有意义 代码风格和格式要统一一致 软件开发中的各种工作都要分割成1小时左右的任务
- 让计算机去做重复性的工作 把最近使用过的命令存到一个文件里,以备复用 使用编译工具来自动化系统流程
- 用软件工具来自动跟踪计算机的工作
- 每次做一小步,及时获得反馈,及时纠正
- 使用一个版本控制系统 所有由手工创建的东西都要放到版本控制系统里
- 系统中的每一段数据都要有一个权威的单一的存在 代码应该模块化复用,而不是考来粘去 复用代码,而不是重写代码
- 在程序中增加断言,检查它们的各种操作 使用现成的单元测试框架 测试程序时借鉴所有的可用的经验 把bug做成测试用例 使用一个有代码指令的调试工具
- 使用监控工具找到瓶颈 尽可能的用高级语言写程序
- 描述接口和原因,而不是实现 重构代码,而不是注释解释运行原理 引用其它程序时嵌入其它程序的文档
- 代码合并前进行代码审查 当帮带新成员或解决特别诡异的问题时使用结对编程
我要额外提到的是这个:
11. 维新旧代码。