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的文化内涵,力争将工程实践做到卓越,打造面向未来有竞争力的卓越技术团队。”

相关文章
|
14天前
|
安全 vr&ar
构建安全文化的重要性
【10月更文挑战第12天】 本文探讨了在不断变化的工作环境中,构建一个强大的安全文化的重要性。通过分析不同的案例研究,突出了安全文化对于提高组织整体安全性和减少事故的重要作用。同时,文章还提供了一些实用的策略,帮助组织加强其安全文化建设。
21 0
|
6月前
|
敏捷开发 测试技术 UED
探索性测试:软件质量保障的无形之手
【5月更文挑战第31天】本文深入探讨了探索性测试(Exploratory Testing)在现代软件开发中的重要性。通过分析其定义、实施策略和优势,揭示了探索性测试如何成为提高软件质量和用户体验的关键手段。文章不仅为读者提供了对探索性测试的全面理解,还强调了其在敏捷开发环境中的实践价值。
|
安全 大数据 程序员
软件开发困难、软件开发困难原因、软件开发困难的根本原因
  软件开发困难   软件开发困难最典型的事件是12360火车票订票,高并发量让初期的12360版本经常崩溃,根本不能用。不能用的软件或平台网站,这样的软件开发困难,难于上青天。   微软在开始组织团队编写Windows操作系统时,也经常遇到软件开发困难,进度迟迟不能更新,产品上线遥遥无期,导致微软领导一个头两个大。
665 0
|
算法 决策智能
运筹优化学习22:新项目研发项目进度制定与优化研究(二)
运筹优化学习22:新项目研发项目进度制定与优化研究
运筹优化学习22:新项目研发项目进度制定与优化研究(二)
|
监控 算法 安全
运筹优化学习22:新项目研发项目进度制定与优化研究(一)
运筹优化学习22:新项目研发项目进度制定与优化研究
运筹优化学习22:新项目研发项目进度制定与优化研究(一)
|
监控 项目管理 决策智能
运筹优化学习22:新项目研发项目进度制定与优化研究(三)
运筹优化学习22:新项目研发项目进度制定与优化研究
运筹优化学习22:新项目研发项目进度制定与优化研究(三)
|
存储 数据挖掘 大数据
谈一谈制定数据和分析战略的重要性
随着世界变得越来越智能,数据成为企业竞争优势的关键要素,这意味着企业的竞争能力将越来越取决于如何利用数据、应用分析和实施新技术。
|
项目管理
如何做好项目中的风险管理?
今天我们来聊聊如何做好项目中的风险管理,主要涉及以下几个方面:风险的基本概念(定义、特征、构成要素、分类)、如何识别风险、如何评估风险、如何应对风险、案例分享。若你有任何疑惑,欢迎和我一起讨论呀;若我有任何写的不对之处,也欢迎指正!
如何做好项目中的风险管理?
|
前端开发 算法 搜索推荐
不要忽视代码审查的重要性
这是一篇译文,觉得它很不错就把它翻译了一下。原文名为 8 Tips for Great Code Reviews,这篇文章不管是对提升个人编程素养,还是协调团队间的合作都有一定的指导意义。 在学校里没有教给你的一项本领就是怎样做一个好的代码审查(CR)。
1549 0