- 为人而不是计算机编写程序。
- 一个程序不应要求其读者一次在存储器中保存少数事实
- 名称应一致,独特且有意义
- 代码样式和格式应一致
- 软件开发的各个方面应细分为大约一个小时的任务
- 自动执行重复性任务。
- 依靠计算机重复执行任务
- 将最近的命令保存在文件中以供重复使用
- 使用构建工具来自动化科学工作流程
- 使用计算机记录历史记录。
- 进行增量更改。
- 一步一步地工作,并经常提供反馈和课程纠正
- 使用版本控制 。
- 使用版本控制系统
- 手动创建的所有内容都应放入版本控制中
- 不要重复自己(或其他人)。
- 每个数据在系统中都必须具有单个权威表示
- 代码应该模块化,而不是复制和粘贴
- 重用代码而不是重写代码
- 计划错误。
- 向程序添加断言以检查其操作
- 使用现成的单元测试库
- 测试程序时使用所有可用的Oracle
- 将错误变成测试用例
- 使用符号调试器
- 仅在软件正常运行后对其进行优化。
- 使用探查器确定瓶颈
- 用尽可能高级的语言编写代码
- 文档设计和目的,而不是机制。
- 文档接口和原因,而不是实现
- 重构代码,而不是解释其工作原理
- 将某个软件的文档嵌入该软件中
- 合作。
- 使用合并前代码审核
- 在使某人适应新技术并解决特别棘手的问题时使用配对编程
我唯一要包括的是:
11.维护和更新较旧的代码。
参考:来自Lviv博客Java用户组的 JCG合作伙伴 Andriy Andrunevchyn 提供的软件开发最佳实践 。
翻译自: https://www.javacodegeeks.com/2013/03/best-practices-ever-for-software-development.html