如何提高团队代码质量

作者: HiGuo | 来源:发表于2019-05-28 15:14 被阅读2次

在 Wikipedia 上,对代码审查的定义是

代码审查(英语:Code Review)是指对计算机源代码系统化地审查,常用软件同行评审的方式进行,其目的是在找出及修正在软件开发初期未发现的错误,提升软件质量及开发者的技术。代码审查常以不同的形式进行,例如结对编程、非正式的看过整个代码,或是正式的软件检查

代码审查会为我们带来什么好处

  1. 代码审查保证软件质量。我们的团队虽然有专门的QA人员,但测试更多的是基于黑盒测试更多的保证外在质量,无法发现隐藏在代码中的问题。比如多次线上事故都是和数据库索引,表锁,线程并发相关。这类线上故障已经变更阻碍我们团队前进的碍脚石。
  2. 代码审查可以促进团队的成长。通过代码审查,每个人可以学习到其他人好的思维方式和编码方式。也会提出做的不好地方的改进意见,是整个团队在代码级别的另一种沟通和思考。最近一次跨团队的代码审查我就发现AB团队使用的好多技术或插件版本都不一致,大大影响的团队整体的一致性。
  3. 代码审查还可以有效的避免单点故障。每一行代码,团队里至少有两人以上是了解的。万一出现线上故障,即使代码编写者不在,我们仍然有其他人能立刻去修正。
  4. 代码审查不仅仅限于人与人之间的,还可以是人与程序之间的,通过SouneQube来进行代码审查。团队成员可以更早的发现问题,SQ还可以持续的更新规则,让团队有机会了解最好的代码习惯应该是什么样的。

代码审查方法

程序审查

sq-code-review.png

在开发阶段我们更多的是通过SQ来做自动化的代码检查,SQ的高版本已经可以发现代码中的BUG,漏洞,坏味道,智能省时。可以过滤大多代码级别的问题。

合并分支时人工审查

git-branch.png

我们还使用了GIT的版本分支功能,每个功能点开发完毕向主分支合并时我们会由技术经理进行审核,主要审核如下几点

  1. 代码是否按功能进行合理的分层,比如所有第三方接口请求都在service层
  2. 代码中如果启用了事务是否合理
  3. 代码中如果启用了线程是否合理,是否需要使用线程池来维护线程
  4. 代码是否清晰易读
  5. 测试代码同样需要审查
  6. 是否最好的实现有重构的可能吗
  7. 审查点还有待完善的...

结对开发

pair-programming.png

这是一个比较高成本的代码审查机制,结对编程(英语:Pair programming)是一种敏捷软件开发的方法,两个程序员在一个计算机上共同工作。一个人输入代码,而另一个人审查他输入的每一行代码。两个程序员经常这样容易摩擦出火花。人们更不愿意打断两个结对的人,而单独工作的人却容易被打断。

在我们的团队中一般有新人入职时,我们会让一个有开发经验的人和新人一块进行结对开发,让新人了解团队文化以及团队的代码风格。

故障总结会

故障总结会其实也是一种代码审查,上面的的几种基本都是1对1的审查。但要想让全团队避免踩过一次的坑再踩。对线上的故障进行分享让团队所有人看其中的问题这也是一种代码复查方式。在实际团队特别是非产品性团队会更有效果。

代码审查背后引申的好处

首先,代码审查的最大的功用是纯社会性的。如果你在编程,而且知道将会有同事检查你的代码,你编程态度就完全不一样了。你写出的代码将更加整洁,有更好的注释和程序结构。

wechat.jpg

相关文章

  • 如何提高团队代码质量

    在 Wikipedia 上,对代码审查的定义是 代码审查(英语:Code Review)是指对计算机源代码系统化地...

  • 提高代码质量方法之单元测试

    代码质量的重要性不言而喻,直接影响了项目质量和团队开发效率,对于如何提高代码的质量,除了依赖开发人员本身的技术素质...

  • 关于Code Review的一些思考总结

    Code Review 目的 提高代码质量 提前发现bug 统一代码规范 提高团队成员代码技能 前期找问题(代码规...

  • 如何提高代码质量?

    我们都知道 简单即是美 . 人亦如此 , 代码亦如此 . 好吧 , 我们恢复正题 , 啥代码 质量高 . 首先我...

  • CodeReview规范

    目标和原则 提高代码质量,及早发现潜在缺陷,降低修改/弥补缺陷的成本 促进团队内部知识共享,提高团队整体水平 评审...

  • HTML:网站通用代码规范

    1. 概述 常用代码规范旨在增强团队开发协作、提高代码质量和打造开发基石的编码规范, 以下规范是团队基本约定的内容...

  • 如何提高kotlin代码质量

    1.Kotlin的隐藏开销 伴生对象伴生对象通过在类中使用companion object来创建,用来替代静态成员...

  • Android 如何提高代码质量?

    避免创建不必要的对象,尽可能避免频繁的创建临时对象,例如在for循环内,减少GC的次数。 尽量使用基本数据类型代替...

  • 前端 JAVASCRIPT规范

    目录 1.前言 制定良好的统一的JavaScript代码规范,提高代码质量和团队合作的效率。 2. 注释 As s...

  • web 前端开发规范

    web 前端开发规范 web 前端开发规范的意义 提高团队的协作能力 提高代码的复用利用率 可以写出质量更高,效率...

网友评论

    本文标题:如何提高团队代码质量

    本文链接:https://www.haomeiwen.com/subject/cvddtctx.html