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

相关文章
|
3月前
|
测试技术 UED 开发者
软件测试的艺术:从代码审查到用户反馈的全景探索在软件开发的宇宙中,测试是那颗确保星系正常运转的暗物质。它或许不总是站在聚光灯下,但无疑是支撑整个系统稳定性与可靠性的基石。《软件测试的艺术:从代码审查到用户反馈的全景探索》一文,旨在揭开软件测试这一神秘面纱,通过深入浅出的方式,引领读者穿梭于测试的各个环节,从细微处着眼,至宏观视角俯瞰,全方位解析如何打造无懈可击的软件产品。
本文以“软件测试的艺术”为核心,创新性地将技术深度与通俗易懂的语言风格相结合,绘制了一幅从代码审查到用户反馈全过程的测试蓝图。不同于常规摘要的枯燥概述,这里更像是一段旅程的预告片,承诺带领读者经历一场从微观世界到宏观视野的探索之旅,揭示每一个测试环节背后的哲学与实践智慧,让即便是非专业人士也能领略到软件测试的魅力所在,并从中获取实用的启示。
|
4月前
|
测试技术
软件测试的艺术与实践:确保质量的五步法
在数字化时代的浪潮中,软件成为了我们日常生活和工作中不可或缺的一部分。高质量的软件产品能够为用户提供流畅的体验,而软件测试是确保产品质量的关键步骤。本文将介绍一种简洁高效的软件测试方法—“五步法”,旨在帮助读者理解如何通过结构化的测试流程来提升软件的可靠性和性能。从需求分析到用户接受度测试,每一步都承载着其独特的价值和意义,共同构建起一道坚固的质量防线。让我们一起探索这门艺术和科学的结合体,揭开软件测试的神秘面纱。
63 1
|
7月前
|
敏捷开发 测试技术 UED
探索性测试:软件质量保障的无形之手
【5月更文挑战第31天】本文深入探讨了探索性测试(Exploratory Testing)在现代软件开发中的重要性。通过分析其定义、实施策略和优势,揭示了探索性测试如何成为提高软件质量和用户体验的关键手段。文章不仅为读者提供了对探索性测试的全面理解,还强调了其在敏捷开发环境中的实践价值。
|
Cloud Native Go
软技能的重要性:在面试中展示团队合作与沟通能力
软技能的重要性:在面试中展示团队合作与沟通能力
181 0
|
数据可视化
如何使用Leangoo领歌敏捷工具管理敏捷缺陷
使用Leangoo领歌敏捷工具我们可以对缺陷进行可视化的管理,方便我们对缺陷的处理进展、负责人、当前状态、分布情况等各个方面一目了然。下面我们来了解如何使用Leangoo领歌管理缺陷。
|
UED
工作缺乏掌控感?你需要学会“自我赋能”!
“我都不知道,我到底是怎么了?!”很多人在工作中状态特别差的时候会说这句话。所有的心烦意乱、垂头丧气、萎靡不振都是结果,最重要的是,我们是要知道自己到底怎么了。这个时候,我们必须学会自我诊断、自我赋能,做自己问题的主人,做自己职场的医生。
14422 8
工作缺乏掌控感?你需要学会“自我赋能”!
|
项目管理
如何做好项目中的风险管理?
今天我们来聊聊如何做好项目中的风险管理,主要涉及以下几个方面:风险的基本概念(定义、特征、构成要素、分类)、如何识别风险、如何评估风险、如何应对风险、案例分享。若你有任何疑惑,欢迎和我一起讨论呀;若我有任何写的不对之处,也欢迎指正!
如何做好项目中的风险管理?
|
测试技术
《代码之殇》(原书第2版)——第2章 过程改进,没有灵丹妙药 2011年2月1日
本节书摘来自华章出版社《代码之殇》(原书第2版)——第2章 过程改进,没有灵丹妙药,2011年2月1日,作者:(美 )Eric Brechner 著 林锋 译.更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1318 0