规范篇
良好的项目版本迭代维护,需要团队成员共同的维护一个规范,减少ReView成本,提高可读性,从而提高整体团队的工作效率。
1.开发规范
Java - 阿里Java开发规范
泰山版 - https://github.com/alibaba/p3c
Python - PEP 8
PEP8 - https://legacy.python.org/dev/peps/pep-0008/
More INFO About PEP - https://legacy.python.org/dev/peps
2.代码格式化
Google - Java 格式化配置文件
官网:https://github.com/google/styleguide
中文版:https://github.com/zh-google-styleguide/zh-google-styleguide
Alibaba - Java 格式化配置文件
https://github.com/alibaba/p3c/tree/master/p3c-formatter
3.工具推荐
>开发工具不再赘述,像IntelliJ,Eclipse等IDE均提供自定义代码格式化配置文件.
>推荐 IDE 安装 findbugs(现可能已不再维护),spotbugs等bug检查工具,能够检查出常见的程序漏洞.
>推荐使用 Sonar 进行代码质量的检查与控制,可配合 Jenkins 进行定期自动扫描检查代码质量.
>推荐一个Alibaba开源的Java诊断工具 Arthas
.
>推荐一个Java剖析工具 JProfiler,十分强大,(可能唯一的缺点就是收费) .
脚本篇
1.注意入参验证,防止SQL注入(前后台皆需验证);
2.脚本语法尽可能使用多平台统一标准 (如SQL99);
3.注意合理应用索引;
4.脚本开发中,所有SQL不应依赖于字段的顺序;
(其实所有涉及结构的程序,都应注意是否必须依赖顺序问题,包括字段、变量、数据)
5.需注意事务隔离机制,注意脏读,幻读;
6.尽可能避免程序中嵌入脚本;
7.注意字符集编码、转义问题;
8.合理的业务设计;
管理篇
1.代码复核有作用,但作用效果有限,即便是Sonar等类似的质量检查工具,只能控制住代码质量;
2.单元测试以及自动化测试成本很高,但是需要长期维护,有助于业务复杂性提高之后,提高测试效率,开发自测也有必要;
3.人员的培训很重要,不仅仅是技术培训,更要有业务培训,即使是功能测试,也不可以忽略培训;
4.不管是内部沟通,开会讨论,与客户沟通,最终结论的整理与留痕十分重要,越正式的留痕越好;
5.遇到问题,先考虑影响,提供解决方案(临时方案也可),尽可能减小影响,然后要去思考与总结,问题出现的原因,提供最终解决方案,最后要反思如何去避免问题,去调整约束规范,还是去优化管理流程,或者是强化业务培训,甚至是系统架构的调整;