code review

1:目标

编程素养、业务逻辑、架构设计、单元测试、性能、安全

2:如何做好review

  1. commit之前要做自我检查
  2. 确定codeStyle的风格
  3. 每次review 代码量不要保证400行以内,超过400行效率就会降低
  4. 编写checkList

3:编写checkList

  1. 代码能够工作么?它有没有实现预期的功能,逻辑是否正确等。

  2. 所有的代码是否简单易懂?

  3. 代码符合你所遵循的编程规范么?这通常包括大括号的位置,变量名和函数名,行的长度,缩进,格式和注释。

  4. 是否存在多余的或是重复的代码?

  5. 代码是否尽可能的模块化了?

  6. 是否有可以被替换的全局变量?

  7. 是否有被注释掉的代码?

  8. 循环是否设置了长度和正确的终止条件?

  9. 是否有可以被库函数替代的代码?

  10. 是否有可以删除的日志或调试代码?代码能够工作么?它有没有实现预期的功能,逻辑是否正确等。

  11. 所有的代码是否简单易懂?

  12. 代码符合你所遵循的编程规范么?这通常包括大括号的位置,变量名和函数名,行的长度,缩进,格式和注释。

  13. 是否存在多余的或是重复的代码?

  14. 代码是否尽可能的模块化了?

  15. 是否有可以被替换的全局变量?

  16. 是否有被注释掉的代码?

  17. 循环是否设置了长度和正确的终止条件?

  18. 是否有可以被库函数替代的代码?

  19. 是否有可以删除的日志或调试代码?

4:codeReview的工具

Gerrit :Google开源的codereview工具,操作起来也比较方便

gerritstats:gerritstats可以统计出Gerrit Project里面每个成员的所有操作记录,包括code view次数,comments数,commit数等,基本上覆盖了能想到的所有数据。

5:codeReview文献

这里是引用 https://mp.weixin.qq.com/s/n1B0wLicwQByYslz6hYwnw 不错的文章

管理-code revice相关推荐

  1. 敏捷开发中的Code Review

    敏捷开发中的Code Review 一些敏捷团队在实施敏捷开发中忙于编码.忙于Unit Test.忙于沟通.忙于Build等,虽然也有编码审核阶段,但大都浮于表面,流于形式,效果不佳.本文结合实践,介 ...

  2. 面试必备的C++知识(未完待续)

    文章目录 C++ 内存管理 code segment/text segment:.TEXT Initialized Data Segment:.DATA Uninitialized Data Segm ...

  3. [Android] Toast问题深度剖析(二)

    欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者: QQ音乐技术团队 题记 Toast 作为 Android 系统中最常用的类之一,由于其方便的api设计和简洁的交互体验,被我们所广泛采用 ...

  4. svn的搭建和和文件检出与提交

    1,安装SVN服务端 直接用apt-get或yum安装subversion即可(当然也可以自己去官方下载安装) sudo apt-get install subversion 2,创建版本库 svna ...

  5. 实现DDD领域驱动设计: Part 1

    原文链接: https://dev.to/salah856/implementing-domain-driven-design-part-i-5a72 简单的代码! 踢足球很简单,难的是踢简单的足球. ...

  6. 基于ABP落地领域驱动设计-01.全景图

    什么是领域驱动? 领域驱动设计(简称:DDD)是一种针对复杂需求的软件开发方法.将软件实现与不断发展的模型联系起来,专注于核心领域逻辑,而不是基础设施细节.DDD适用于复杂领域和大规模应用,而不是简单 ...

  7. 好代码是管出来的——使用GitHub

    前面的文章介绍了Git的基本概念和用法,本文则是基于GitHub的一个实践介绍,主要内容有: GitHub简介 个人与组织 仓库的创建与维护 Fork与pull request 小结 GitHub简介 ...

  8. 【DevOps】从理念到实施

    作者:范军 (Frank Fan) 新浪微博:@frankfan7 一为什么会有DevOps的出现? DevOps这个新理念的出现,是为了应对IT环境中普遍面临的一些挑战. 敏捷的出现缩小了上图所示的 ...

  9. Jquery实现可拖拽的树菜单

    效果图例如以下所看到的:下载地址http://download.csdn.net/detail/javaquentin/8290417 <html xmlns="http://www. ...

最新文章

  1. Sql Server统计报表案例
  2. 《评人工智能如何走向新阶段》后记(再续25)
  3. 矩阵管理——和visitor模式没有本质区别,都是为了避免资源重复
  4. 小车主板哪家强?PS2手柄4路电机输出..火魔童主板了解一下?
  5. C语言试题三十四之求除1到m之内(含m)能北7或11整除的所有整数放在数组a中,通过n返回这些数的个数。
  6. [转载] Java中的final变量、final方法和final类
  7. matlab傅里叶变换去噪代码,小波的分析在心电信号去噪中应用(内附Matlab去噪源代码).ppt...
  8. 销售软件服务器设置,销售软件服务器
  9. Quartz学习总结(2)——定时任务框架Quartz详解
  10. html5文章标题定格,HTML5最佳做法; 部分/标题/旁边/文章元素
  11. c++迭代器iterator通用吗_C++ 迭代器iterator的实现原理
  12. 业界最年轻的领军人物--久其总工程师欧阳曜
  13. Android IPC —— AIDL的原理
  14. 无痛学习ISAC(二)
  15. 六级,我一定要考好!
  16. TX2(Ubuntu16.04)安装TP-link外接网卡驱动及AP热点创建
  17. 上传到docker hub_在容器上构建持续部署及最佳实践初探
  18. python-短网址批量还原
  19. JAVA学习笔记(三) 实现类
  20. Orbslam2 稠密点云 +D435i实现(Ubuntu18.04)

热门文章

  1. Unity Shader Fresnel 菲涅尔反射
  2. 黑马点评项目全面业务总结
  3. 判断整数奇偶性的函数
  4. 怎么用PHP判定奇偶性,怎么判断函数的奇偶性
  5. 【web前端开发】后台PHP
  6. ARP攻击让室友上不了网
  7. 【随缘一练】一棵树,请你给每个顶点染成红色或蓝色
  8. html选择文件按钮美化,css input[type=file] 样式美化,input上传按钮美化
  9. 容联下一棒:开跑AI接力赛
  10. VS2019 C++ 编译项目错误:无法打开包括文件:“graphics.h”: No such file or directory