6.我们真的做了代码评审

静态代码检查工具StyleCode。

上一章我说了设计评审和测试用例评审都是为了提升产品质量问题,后来我们又做了代码评审,但是代码评审比设计评审难搞多了,对于开发来说最在意的就是自己的代码,让别人对自己的代码指指点点,虽然是好的建议但也会让人不爽。

准备搞代码评审之前以前就尝试过,搞着搞着最后的结果只是变成一种形式而已,大家热情都不高,反而给团队增加了负面的情绪。在现在团队中由于代码质量问题,减少bug的产出,在回顾会议中团队提出可以试一下代码评审,是对这个解决办法存在担忧的。我们采用stylecode工具来做静态代码检查,我们最后做到了零问题,基本上迭代完成前开发人员都会把stylecode检查出来的问题清理掉。静态代码检查可以保证大家代码编写的规范与一些基本问题,但一些深层次的业务逻辑问题是发现不了的,所以还是得靠人来手动检查。刚开始为了减少团队在代码评审中的矛盾,鼓励大家分享自己写得好的代码,而不是大家一起来找茬。比如H君写了一个公共方法大家都有可能用到,Y君在使用某个控件中碰到的一些问题等等。通过这个会议来加强开发的分享,同时我们使用有道云笔记建立了团队的知识分享小组,这样大家在碰到一个已经解决的问题可以从中查找。

代码评审我们一个迭代做两次,第一周的周五下午2个小时,第二周的周四下午2个小时,在第一个周五的时候基本大家都有故事完成了,所以提前进行代码评审,因为如果全拖到第二周的话,可能有些问题没有能提早发现,导致越到后面发现的话修改的代价更大一些,还有就是全部开发完成再做的话花费的时间会更长。第二周的话基本上周四开发都已经完成自己的故事,周五上午做集成测试,下午开迭代评审会议和回顾会议。

我一般建议大家在讲自己的代码的之前,一定要组织好自己的语言,提前过一遍或者准备几张时序图,这样在讲解的时候更有条理性,自己讲都讲不清的话,可想而知代码的质量也只有这么好。另外针对核心算法画的时序图可以补充到之前做得设计文档中去,完成设计文档。还有就是一些有问题的代码和好的代码都会记录下来,好的编写知识分享,不好的记录跟踪,持续改进。

我们还尝试过一些其他的代码评审方式,比如在代码提交前由开发主管统一评审,只有评审通过后的代码才能commit,后来发现这种方式比好执行,一下就拉下了团队的开发速度,然后就是开发主管也没有这么过精力来做这件事情,所以做出来的效果也不咋的。接下来我们想尝试开发之间相互评审对方的代码,这样能更多的深入到代码本质,但同时也对团队的要求更高,所以得一步一步来,持续改进。

做这个代码评审确实还是给团队好的方面,代码的分享确实提高了解决问题的效率,碰到的一些技术问题,如果之前有人碰到过,那基本很快就能解决。不用自己独自浪费时间来研究解决。再有就是对新人的帮助很大,新人会在这个会议上更好的学习框架的使用,功能代码的实现与获得问题的详细解答。

总之,我觉得代码评审确实可以提升产品质量与提升团队开发能力,但是一定要注意方法方式,不能操之过急与生搬硬套。

时间: 2024-07-29 13:18:59

6.我们真的做了代码评审的相关文章

同行代码评审过程中的实践经验

声明:该文经我翻译后首次发表在伯乐在线上,不论什么形式的转载都请标明原处. 数百万年前,猿从树上下来,进化出了对生拇指,终于.变成了人类. 我们以相似的眼光来看下强制性代码评审(Code Review):好像是一种能在软件开发这块广阔的领域里将人类从兽里分离出来的东西. 只是,我有时候会从我们的团队成员里听到以下这种评论: "这个项目的代码评审根本就是浪费时间." "我没有时间做代码评审. " "我的项目公布延期了.都是由于我那懦弱的同事还没有做不论什么评

对代码评审的感想(回忆篇)

对代码评审的感想(回忆篇) 回想之前钱老板开代码评审流程的讨论会,有事没去,有些遗憾,所以谈下这个当前最fashion的话题,分享下之前对代码等评审的体验. 之前在CFT的研发氛围还是比较重视代码评审的,完成度也比较好,原因有以下几个: 业务特性.我们是的业务跟钱打交道的,所以一发生问题,损失的都是钱,所以追责很严,惩罚很重,而且罚钱一般都罚老大,所以质量上的规范容易从上往下推动,事半功倍.当然线上出现问题,往往会让QA(质量管理)追着问原因以及要求拿出改进措施,作为小兵也很烦很害怕有木有~ 严

团队管理中的代码评审

代码评审在软件项目管理中是经常组织的活动,通过代码评审的工作也确实给我们的团队带来很多的益处,简单谈谈代码评审的感受,你们的团队是否也在进行代码评审(Code Review)的相关工作呢? 1.为什么要组织代码评审 组织代码评审其主要目的是保障我们的代码质量和软件产品质量,其次是团队的学习提高,共同的成长.可以是两个方面的驱动,外在现实中的工作痛点和团队内在战斗力提高的驱动. (1).实际工作中的痛点:<1>.团队开发的软件质量越来越差,Bug居高不下,问题层出不穷:<2>.团队的

使用ReviewBoard进行代码评审经验总结

代码评审 代码评审(CodeReview),顾名思义是对代码进行评审,是软件工程的活动之一. 通过代码评审可以保证代码质量,促进团队知识共享--好处多多. 版本控制与代码评审 软件工程的各个活动总是离不开工具的支持. 代码评审工具首先必须和版本控制工具相结合的. 现在主流的两种版本控制工具:SVN和GIT. GIT有个Google开发的代码评审工具Gerrit,可以在提交前进行代码评审,评审通过之后才允许提交到版本库. 其次,代码托管平台GitLab(号称是GitHub的开源实现)也可以用来进行

最新apache+svn+reviewboard实现在线代码评审

本文重点说reviewboard的安装 作用,在线代码评审工具. --------------------------------------------------------------------------- mysql安装 yum -y install gcc gcc-c++ make cmake autoconf automake ncurses* bison* zlib* expat* openssl* apr* neon* yum -y install mysql-server

ubuntu上搭建review board代码评审站点

Reviewboard是一个开源个人可以免费使用的代码评审框架,貌似现在有越来越多的公司也开始使用reviewboard作为公司的代码评审工具. 今天早上试了一下,搭建过程非常方便简单,按照网页提示即可完成,比较人性化.公司里使用的话,支持LDAP,直接导入账户,方便. 安装指导如下页面: https://www.reviewboard.org/docs/manual/2.5/admin/installation/linux/ 1.前期需要安装, 数据库以及web服务器,我选的是mysql+Ap

麻省理工18年春软件构造课程阅读04“代码评审”

本文内容来自MIT_6.031_sp18: Software Construction课程的Readings部分,采用CC BY-SA 4.0协议. 由于我们学校(哈工大)大二软件构造课程的大部分素材取自此,也是推荐的阅读材料之一,于是打算做一些翻译工作,自己学习的同时也能帮到一些懒得看英文的朋友.另外,该课程的阅读资料中有许多练习题,但是没有标准答案,所给出的答案均为译者所写,有错误的地方还请指出. 译者:李秋豪 审校: V1.0 Thu Mar 8 22:58:41 CST 2018 本次课

自动提交Git branch代码评审到Review Board系统

背景 敏捷软件开发中,越小的反馈环,意味着软件质量越容易得到保证. 作为组件团队,我们的开发任务中,往往存在一些特性涉及到几十个功能点,开发周期持续数周或数月的情况.如何在开发过程中保证软件质量,是个很重要的话题.进行有效的细粒度的代码评审,是常见的手段之一.但是这一希望在落地时,多多少少会遇到些来自方方面面的阻力: Review Board不支持Git branch的代码评审提交: Git不熟,不知道怎么生产正确的patch文件来提交到Review Board上: Review Board不会

PHP 代码评审的 10 个提示

http://www.oschina.net/translate/top-10-php-code-review-tips PHP 代码评审的 10 个提示 以下是这篇文章介绍的重点:1.业务功能2.框架相关的编码指南3.面向对象的原则4.PHP的特异性标准5.编程相关的最佳实践6.设计模式7.代码覆盖率8.安全9.异常处理10.集成模式在进入细节之前,请让我提提我的想法,我认为,涵盖各个方面的代码质量,以下8个参数(ISO 25000平方标准)会有不同的代码审查标准. 功能的适用性可维护性可用性