管理-code revice
code review
1:目标
编程素养、业务逻辑、架构设计、单元测试、性能、安全
2:如何做好review
- commit之前要做自我检查
- 确定codeStyle的风格
- 每次review 代码量不要保证400行以内,超过400行效率就会降低
- 编写checkList
3:编写checkList
代码能够工作么?它有没有实现预期的功能,逻辑是否正确等。
所有的代码是否简单易懂?
代码符合你所遵循的编程规范么?这通常包括大括号的位置,变量名和函数名,行的长度,缩进,格式和注释。
是否存在多余的或是重复的代码?
代码是否尽可能的模块化了?
是否有可以被替换的全局变量?
是否有被注释掉的代码?
循环是否设置了长度和正确的终止条件?
是否有可以被库函数替代的代码?
是否有可以删除的日志或调试代码?代码能够工作么?它有没有实现预期的功能,逻辑是否正确等。
所有的代码是否简单易懂?
代码符合你所遵循的编程规范么?这通常包括大括号的位置,变量名和函数名,行的长度,缩进,格式和注释。
是否存在多余的或是重复的代码?
代码是否尽可能的模块化了?
是否有可以被替换的全局变量?
是否有被注释掉的代码?
循环是否设置了长度和正确的终止条件?
是否有可以被库函数替代的代码?
是否有可以删除的日志或调试代码?
4:codeReview的工具
Gerrit :Google开源的codereview工具,操作起来也比较方便
gerritstats:gerritstats可以统计出Gerrit Project里面每个成员的所有操作记录,包括code view次数,comments数,commit数等,基本上覆盖了能想到的所有数据。
5:codeReview文献
这里是引用 https://mp.weixin.qq.com/s/n1B0wLicwQByYslz6hYwnw 不错的文章
管理-code revice相关推荐
- 敏捷开发中的Code Review
敏捷开发中的Code Review 一些敏捷团队在实施敏捷开发中忙于编码.忙于Unit Test.忙于沟通.忙于Build等,虽然也有编码审核阶段,但大都浮于表面,流于形式,效果不佳.本文结合实践,介 ...
- 面试必备的C++知识(未完待续)
文章目录 C++ 内存管理 code segment/text segment:.TEXT Initialized Data Segment:.DATA Uninitialized Data Segm ...
- [Android] Toast问题深度剖析(二)
欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者: QQ音乐技术团队 题记 Toast 作为 Android 系统中最常用的类之一,由于其方便的api设计和简洁的交互体验,被我们所广泛采用 ...
- svn的搭建和和文件检出与提交
1,安装SVN服务端 直接用apt-get或yum安装subversion即可(当然也可以自己去官方下载安装) sudo apt-get install subversion 2,创建版本库 svna ...
- 实现DDD领域驱动设计: Part 1
原文链接: https://dev.to/salah856/implementing-domain-driven-design-part-i-5a72 简单的代码! 踢足球很简单,难的是踢简单的足球. ...
- 基于ABP落地领域驱动设计-01.全景图
什么是领域驱动? 领域驱动设计(简称:DDD)是一种针对复杂需求的软件开发方法.将软件实现与不断发展的模型联系起来,专注于核心领域逻辑,而不是基础设施细节.DDD适用于复杂领域和大规模应用,而不是简单 ...
- 好代码是管出来的——使用GitHub
前面的文章介绍了Git的基本概念和用法,本文则是基于GitHub的一个实践介绍,主要内容有: GitHub简介 个人与组织 仓库的创建与维护 Fork与pull request 小结 GitHub简介 ...
- 【DevOps】从理念到实施
作者:范军 (Frank Fan) 新浪微博:@frankfan7 一为什么会有DevOps的出现? DevOps这个新理念的出现,是为了应对IT环境中普遍面临的一些挑战. 敏捷的出现缩小了上图所示的 ...
- Jquery实现可拖拽的树菜单
效果图例如以下所看到的:下载地址http://download.csdn.net/detail/javaquentin/8290417 <html xmlns="http://www. ...
最新文章
- Sql Server统计报表案例
- 《评人工智能如何走向新阶段》后记(再续25)
- 矩阵管理——和visitor模式没有本质区别,都是为了避免资源重复
- 小车主板哪家强?PS2手柄4路电机输出..火魔童主板了解一下?
- C语言试题三十四之求除1到m之内(含m)能北7或11整除的所有整数放在数组a中,通过n返回这些数的个数。
- [转载] Java中的final变量、final方法和final类
- matlab傅里叶变换去噪代码,小波的分析在心电信号去噪中应用(内附Matlab去噪源代码).ppt...
- 销售软件服务器设置,销售软件服务器
- Quartz学习总结(2)——定时任务框架Quartz详解
- html5文章标题定格,HTML5最佳做法; 部分/标题/旁边/文章元素
- c++迭代器iterator通用吗_C++ 迭代器iterator的实现原理
- 业界最年轻的领军人物--久其总工程师欧阳曜
- Android IPC —— AIDL的原理
- 无痛学习ISAC(二)
- 六级,我一定要考好!
- TX2(Ubuntu16.04)安装TP-link外接网卡驱动及AP热点创建
- 上传到docker hub_在容器上构建持续部署及最佳实践初探
- python-短网址批量还原
- JAVA学习笔记(三) 实现类
- Orbslam2 稠密点云 +D435i实现(Ubuntu18.04)
热门文章
- Unity Shader Fresnel 菲涅尔反射
- 黑马点评项目全面业务总结
- 判断整数奇偶性的函数
- 怎么用PHP判定奇偶性,怎么判断函数的奇偶性
- 【web前端开发】后台PHP
- ARP攻击让室友上不了网
- 【随缘一练】一棵树,请你给每个顶点染成红色或蓝色
- html选择文件按钮美化,css input[type=file] 样式美化,input上传按钮美化
- 容联下一棒:开跑AI接力赛
- VS2019 C++ 编译项目错误:无法打开包括文件:“graphics.h”: No such file or directory