Java Code Review 介绍
1.code Review 的用处
- Code reviews 中,可以通过大家的建议增进代码的质量。
- Code reviews 是一个传递知识的手段,可以让其它并不熟悉代码的人知道作者的意图和想法,从而可以在以后轻松维护代码。
- Code reviews 也鼓励程序员们相互学习对方的长处和优点。
- Code reviews 也可以被用来确认自己的设计和实现是一个清楚和简单的。
你也许注意到了在上面的Code Reivew中的诸多用处中,我们没有提到可以帮助找到程序的bug和保证代码风格和编码标准。这是因为我们认为:
Code reviews 不应该承担发现代码错误的职责。Code Review主要是审核代码的质量,如可读性,可维护性,以及程序的逻辑和对需求和设计的实现。代码
中的bug和错误应该由单元测试,功能测试,性能测试,回归测试来保证的(其中主要是单元测试,因为那是最接近Bug,也是Bug没有扩散的地方)
Code reviews 不应该成为保证代码风格和编码标准的手段。编码风格和代码规范都属于死的东西,每个程序员在把自己的代码提交团队Review的时候,代码
就应该是符合规范的,这是默认值,属于每个人自己的事情,不应该交由团队来完成,否则只会浪费大家本来就不够的时间。我个人认为“meeting”是奢侈
的,因为那需要大家在同一时刻都挤出时间,所以应该用在最需要的地方。代码规范比起程序的逻辑和对需求设计的实现来说,太不值得让大家都来了。
下面是一些观点,千万要铭记:
**要Review的代码越多,那么要重构,重写的代码就会越多。而越不被程序作者接受的建议也会越多,唾沫口水战也会越多。
**
程序员代码写得时候越长,程序员就会在代码中加入越来越多的个人的东西。 程序员最大的问题就是“自负”,无论什么时候,什么情况下,有太多的机会会让
这种“自负”澎涨开来,并开始影响团队影响整个项目,以至于听不见别人的建议,从而让Code Review变成了口水战。
越接近软件发布的最终期限,代码也就不能改得太多。
对团队的要求:
- 先Review设计实现思路
- 然后Review设计模式
- 接着Review成行的骨干代码
- 最后Review完成的代码
如果程序复杂的话,需要拆成几个单元或模块分别Review。当然,最佳的practice是,每次Review的代码应该在1000行以内,时间不能超过一部电影的时间——
1.5小时(因为据说那个一个正常人的膀胱可以容纳尿液的最长限度)
尽可能让不同的人Review你的代码
如果可能的话,不要总是只找一个人来Review你的代码,不同的人有不同的思考方式,有不同的见解,所以,不同的人可以全面的从各个方面评论你的代码,有
的从实现的角度,有的从需求的角度,有的从用户使用的角度,有的从算法的角度,有的从性能效率的角度,有的从易读的角度,有的从扩展性的角度……,啊,
好多啊,还让不让人活了。不管怎么说,多找一些不同的人会对你很有好处。当然,不要太多了,人多嘴杂反而适得其反,基本上来说,不要超过3个人,这是因
为,这是一个可以围在一起讨论的最大人员尺寸。
下面是几个优点:
- 从不同的方向评审代码总是好的。
- 会有更多的人帮你在日后维护你的代码。
- 这也是一个增加团队凝聚力的方法。
Code Review的好处我觉得不用多说了,主要是让你的代码可以更好的组织起来,有更易读,有更高的维护性,同时可以达到知识共享,找到bug只是其中的副产品。
我个人认为代码有这几种级别:
1)可编译
2)可运行
3)可测试
4)可读
5)可维护
6)可重用
通过自动化测试的代码只能达到第 3 级,而通过Code Review的代码少会在第 4级甚至更高
1.Review 之前
1.团队要有统一的标准,并以此为基准
2.不应该掺杂其他因素,情感因素、绩效因素等等统统要不得
3.不应该成为保证代码规范的手段
让工具去保证代码规范( check style/pmd)
把更多的精力放在代码是否正确上
2. Code Review 常见问题
- 功能性bug
- 逻辑优化
- 代码复用
- 不必要代码
- 能够高效执行
- 资源占用
- 资源是否有效关闭
- 资源池配置是否合理
- 线程是否安全
- 检查注释是够到位
- 代码结构是够清晰
- 命名是否规范
- 单元测试覆盖情况
- 能够适应未来变化
- 过渡设计
- 敏感数据是否加密
- 密码能否很好的管理与控制
3.一些建议
- 沟通而非对抗
- 不要自负
- 小而多,而非大而少
- 保持简短
- 不要太正式
- 三人行(以三人为一组,一个提交,二个人审核)
- Code Review 收益
- 对代码作者来说
- 养成阅读自己代码并重构代码的习惯
- 通过和同事的沟通,发现自己的不足,从而获得提升
- 对于审查者来说
- 可以参考别人的代码设计,并思考可以借鉴的地方
- 对于团队来说
- 促进沟通
- 提升团队战斗力
16个好用的Code Review 工具
https://zhuanlan.zhihu.com/p/103592147
Java Code Review 介绍相关推荐
- 关于Gerrit code review 介绍与安装
代码审核(Code Review)是软件研发质量保障机制中非常重要的一环,但在实际项目执行过程中,却因为种种原因被Delay甚至是忽略.在实践中,给大家推荐一款免费.开放源代码的代码审查软件Gerri ...
- java code review 工具_两款好用的代码Review工具 | 学步园
最近团队内部呼吁代码质量的声音越来越高,项目组引入了代码Review机制.上次我由于不了解主站URL替换的规则,险些造成客户端图片读取错误,而代码Review则有助于帮我们发现代码潜在的问题. 主讲的 ...
- Code Review工具Jupiter介绍
[IT168 技术文档] 引言 Code Review的作用和意义已在很多技术团队内达成共识,可是很多时候并未被有效执行,甚至被认为是一项费时费力的工作.借助一些工具可以更容易,更有效率地来进行Cod ...
- Eclipse Code Review(代码审查)工具介绍
http://soartju.iteye.com/blog/564690 最近组内一直在做代码改进,既然是代码级别的改进,我想比较直接有效的办法就是Code Review. 虽然以前开发部也做过代码评 ...
- java code reviewer_Java Code Review
目标和原则 提高代码质量,及早发现潜在缺陷,降低修改/弥补缺陷的成本 促进团队内部知识共享,提高团队整体水平 评审过程对于评审人员来说,也是一种思路重构的过程,帮助更多的人理解系统 是一个传递知识的手 ...
- 如何在团队中做好Code Review
一.Code Review的好处 想要做好Code Review,必须让参与的工程师充分认识到Code Review的好处 1.互相学习,彼此成就 无论是高手云集的架构师团队,还是以CURD为主的业务 ...
- 什么是Code Review 代码审查
Code Review 是一种通过复查代码提高代码质量的过程,在XP方法中占有极为重要的地位,也已经成为软件工程中一个不可缺少的环节. 本文通过对Code Review的一些概念和经验的探讨,就如何进 ...
- Code Review效率低?来试试智能语法服务
简介:在人工代码评审(Code Review,CR)中,对于纯文本形式的代码浏览不可避免地将耗费大量的时间,影响CR的效率.那么有没有更智能的方法?阿里云云效代码智能语法服务基于云端备份的快速代码导航 ...
- 敏捷开发中的Code Review
敏捷开发中的Code Review 一些敏捷团队在实施敏捷开发中忙于编码.忙于Unit Test.忙于沟通.忙于Build等,虽然也有编码审核阶段,但大都浮于表面,流于形式,效果不佳.本文结合实践,介 ...
- Alibaba Code代码索引技术实践:为Code Review提供本地IDE的阅读体验
作者:曲径 阿里研发基础设施团队 Code Review在研发流程中非常重要,但Web界面中Code Intelligence能力的缺失改变了原有的代码阅读习惯,又增加了阅读成本.本文将介绍阿 ...
最新文章
- Matlab与线性代数 -- 向量的范数
- Spring Cloud Alibaba【Nacos 服务治理】 高可用保证:Nacos 如何有效构建注册中心集群
- 浅谈Django的中间件与Python的装饰器
- nginx已添加systemctl,但不能开机自启动问题
- MySQL的优化与执行
- 回归素材(part2)--机器学习与R语言
- JUnit与EasyMock合作
- PWN-PRACTICE-CTFSHOW-8
- xstream中几个注解的含义和用法(转)
- android x86 arm translator,让x86的android模拟器能模拟arm架构系统
- 1、深入理解 Laravel Eloquent(一)——基本概念及用法
- IS-IS详解(五)——IS-IS 三次握手与两次握手
- Linux介绍及基本操作
- 认识IL代码---从开始到现在 第二篇
- 如何将高程数据转成南方CASS的DAT格式
- AS找回被删除的文件
- ABAP submit程序获取ALV数据的方法
- 安卓手机卸载手机自带软件(adb)
- 蓝桥杯——瓷砖样式(第八届决赛)
- C语言程序设计编程题[一](山西大学876)