CodeReview对于一个企业的重要性

简介: odeReview 是开发过程不可或缺的重要一环,如果将代码发布比作一个工厂的流水线,那么 CodeReview 就是流水线接近于终点的质检员,他要担负着对产品质量的保障工作,将“缺陷”从众多的“产品”中挑出,反向推动“生产方”改进生产质量。

前言:

先说说这张图,很多codereview的场合都会发生的情况,遇到一个错误的写法就开始说这个问题多低级,多么不符合一个高级开发应该写出来的等等。一场真正有意义的codereview应该是有目标的,比如说我们的目的是什么?发现了哪些问题?这些问题哪些是规范原则不应该出现的。哪些是我们应该学习的。对于这次codereviewer我们学会了哪些东西。最后再给出一个总结,以及复盘的解决处理文档。

CodeReview要有自己的素养,永远的对事不对人。

1、你认为CodeReview 对代码质量的作用体现在哪些方面?

第一、代码规范:对于开发者来说,这个是最基本的要求,比如说命名规范,注释规范、日志打印、异常处理等等,一定要按照规范来进行编写,具体的规范可以参考阿里巴巴的开发规范文档,该文档里面有详细的介绍;只要符合规范即可,写一段机器能够识别的代码很容易,也区分不出来一个工程师是否优秀。只有写一段别人能够看懂的代码才是一个优秀的工程师应该做的。也是一个企业真正需要的人。

第二、架构设计:这个对于初级开发者来说要求比较高了,比如说扩展性的问题,对于一个功能来说就相当考验工程师的能力了。但是一个大企业来说,大部分都是进行拧螺丝的,只要根据现有的项目进行开发即可。比如说的分层的问题,dao\imp\service\common等进行拆分即可。

第三、性能问题:这个主要是考验对于一些问题应该避免即可,比如说循环内进行连接数据库的问题。缓存的使用问题,该问题是说有些地方不能进行使用缓存,就像一本书上面说的那样,手上只有一把锤子的时候,看什么问题都像钉子。

第四、安全问题:比如说SQL的注入问题,比如说一些敏感数据的加密接口等等。尽量保证接口请求到的接口都是经过登录校验的才行。该问题对于很多企业来说越来越重视了。

2、你曾经担任过的角色是 CodeReviewer 还是 被CodeReviewer?谈谈印象深刻的经历或心得体会吧。

刚刚毕业的几年是被CodeReviewer ,心得如下:

第一、学习心态:刚刚开始工作经验不足,肯定会有很多自己注意不到的地方,进行CR的时候的确是一次值得学习的机会。应该多学习,发现自己的不足,所谓的当局者迷旁观者清。

第二、虚心接受:对于被提出的意见应该虚心接受,毕竟别人也是对于代码有着不同的看法。有些看法的确是自己没有想到的。对于这些建议应该虚心接受,不能别人说自己代码不好就发生争执。

第三、代码负责:对于提出的一些严重的问题已经要及时的修改过来,那样才是真正的进步。不能说一场会议开会就是为了提出问题的。而是应该进行提出问题,学习总结,改正不好的代码。提升自己,争取把自己的能力提上去。

最近几年担任CodeReviewer的心得:

第一、心态平和:作为一个裁判一定要心态平和,因为知道作为新人在被CR的时候心态是不一样的。一定要心态平和。记得有人说过,不要伤害一个新人,因为伤害了一个新人之后,这个习惯会被传染。当这个新人成长起来可能也会这样。新人犯错很正常。

第二、对事不对人:对于一段代码的CR,通常不说这段代码是谁写的,只从git上面拉去代码即可。这个进行公正的分析。尽量做到对事不对人,避免发生争吵。

第三、专业耐心:对于提出的问题已经是专业性很强的,不能吹毛求疵。那样只会显示自己的不专业。对待问题一定要有耐心,同理心。CR的初衷不能忘记,为了团队的成长,为了企业企业的发展。

最后:引用作者的话:“良好的CodeReview文化能够推动团队共同成长,希望我们能够在前进的路上坚守住CodeReview的文化内涵,力争将工程实践做到卓越,打造面向未来有竞争力的卓越技术团队。”

相关文章
|
存储 数据挖掘 大数据
谈一谈制定数据和分析战略的重要性
随着世界变得越来越智能,数据成为企业竞争优势的关键要素,这意味着企业的竞争能力将越来越取决于如何利用数据、应用分析和实施新技术。
|
设计模式 监控 架构师
UI 自动化测试应不应该投入?有没有前途?怎样做最明智?
![](https://ceshiren.com/uploads/default/original/3X/4/a/4a59ac8dba217173b9abe7f8e8dd4d661b3a367e.jpeg) 昨天发布了《实战| UI 调度自动化测试平台(基于 Python)》文章之后,看到不少测试同学吐槽自己公司的 UI 自动化测试效果差而维护成本高,就是一件劳民伤财的集体活动。经常也会有同学问
|
Web App开发
《伟大的小细节:互联网产品设计中的微创新思维》——2.3 预期操作权衡
本节书摘来自华章计算机《伟大的小细节:互联网产品设计中的微创新思维》一书中的第2章,第2.3节,作者:文哲著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1210 0
|
测试技术 项目管理 数据库
《代码之殇》(原书第2版)——第2章 过程改进,没有灵丹妙药 2010年10月1日
本节书摘来自华章出版社《代码之殇》(原书第2版)——第2章 过程改进,没有灵丹妙药,2010年10月1日,作者:(美 )Eric Brechner 著 林锋 译.更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1432 0
|
资源调度
《代码之殇》(原书第2版)——第2章 过程改进,没有灵丹妙药 2002年9月2日
本节书摘来自华章出版社《代码之殇》(原书第2版)——第2章 过程改进,没有灵丹妙药,2002年9月2日,作者:(美 )Eric Brechner 著 林锋 译.更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1261 0