随笔记录, 软件开发(编程)是一个多人协作的工程、编程最终目标是完成业务任务、提高工作效率、在做编程实现的过程中、实现业务逻辑、导入或者调用开源的包和工具,Code Review如何去规避和减少开发中的问题并且提升项目管理、编码效率、团队协作的高效性。
接下来我们就在巨人的肩膀上,总结一下Code Review在开发的过程的实现,能够帮助开发者减少代码中的Bugs、提高代码的可靠性、可阅读性、代码的性能安全等。
Code Review的原则
- 评审过程简洁、快速
- 评审模型的通用性、可适应性
- 评审范围是覆盖全面的
- 评审提供相应的指导并有很好的实现
Code Review的检查内容参考
- 业务逻辑的实现
完整性、 可追溯性检查、可修改、可预测、健壮、结构化、可理解、可检验、可重用、可扩展 - 良好的项目结构
配置文件、三方文件、包文件、入口文件定义、静态文件、文件压缩、MVC、自动化封装、项目文档撰写 - 效率和性能
异常处理、是否健壮、潜在安全分析、并发竞态分析 - Mock数据和测试
单元测试、基准测试、集成测试 - 代码可扩展性、一致性、Code Style(代码风格)
错误处理逻辑、代码复用、Restful、接口、类/结构体、函数、注释代码统一风格 - 设计模式
工厂、单例、代理、适配器、拦截器 - 函数编写
函数的命令、业务逻辑的注释、内聚、变量、参数、返回值规范 - 文档
业务实现文档、业务接口文档、发布文档、三方接口联调文档 - 注释
接口注释、类/结构体注释、辅助包注释。
Golang软件开发Code Review实践方案
企业级的软件开发、行业以及公司内容都有成熟的应用监控、需求管理、安全性能测试、软件发布的工具和规则。
编程语言和工具生态广而多,选择自己顺手的即可、推荐如下: 编程语言 Golang、PHP、Python、Java, 编程工具 Vscode、IntelliJ IDEA, Git 版本控制 Git Flow 代码管理。
下面以Golang编程语言为例,提供一些规范和指导:
1、代码规范指导原则
2、标准 Go 项目布局
3、Vscode 代码格式化、代码静态检测工具
goimports: 自动导包,gofmt : 格式化我们的代码,golint: 检查代码命名,注释等,go vet: 静态错误检查。
4、Golang testing包和go tool
单元测试、性能测试、基准测试、并发检测、集成测试
集成测试参考
5、Git 版本控制
Git commit message 规范化
Git hook规范代码
Git Flow最佳介绍
6、Mock数据和测试
GoMock 是用于Go编程语言的模拟框架。它与Go的内置测试包很好地集成在一起,但是也可以在其他环境中使用。 Testify Go code(golang)软件包集,提供了许多工具来证明您的代码将按预期运行。
7、Restful API框架
最后、欢迎感兴趣的研发工作者一起来补漏和讨论。