关于代码审查的一点小结

一、代码审查的作用

二、代码常规审查清单

三、代码审查的方式

四、错误报告

五、对于Upsource的基本功能的小结

最近接手这方面的事情,还在摸索中,做了一点小结。

一、代码审查的作用:

1、提高代码质量。

 通过代码审查来发现bug及代码中的不规范,这是不容置疑的,通过代码审查,代码将更加整洁,有更好的注释,更好的程序结构。 

2、提高开发者开发水平。

  开发者知道自己编写的代码会被同事审查,将会更加认真的编写代码,也将会督促开者不断地学习、向有经验的同事请教。

3、提高程序的可维护性。

  一份程序代码将会有更多的同事熟悉,更好的代码质量,自然地也增加程序的可维护性。

4、提高开发者的对编码的责任感。

5、传播知识

    在很多的开发团队里,经常每一个人负责一个核心模块,每个人都只关注他自己的那个模块。除非是同事的模块影响了自己的程序,他们从不相互交流。这种情况的后果是,每个模块只有一个人熟悉里面的代码。通过代码审查,至少会有两个人熟悉这些程序——作者,以及审查者。审查者并不能像程序的作者一样对程序十分了解——但他会熟悉程序的设计和架构,这是极其重要的。

二、代码常规审查清单:

   代码能正常工作吗?能否实现预期功能、逻辑是否正确等

   代码符合编程规范否?

   是否存在多余重复的代码?

   代码是否尽可能模块化了?

   是否有可以被替换的全局变量?

   是否有被注释掉的代码?

   循环是否设置了长度和正确的终止条件?

   是否有可以被库函数替换的代码?

   是否有可以删除的日志或者调试代码?

   代码能否进行测试?

根据代码常规审查清单进行代码审查,根据这些审查清单可以针对性的去选择相应的审查工具。

三、代码审查的方式;

1、 正式的代码审查:

最流行的方式是范根检查法:计划(Planning),概述(Overview),准备(Preparation),召开检查会议(Inspection Meeting),重做(Rework),和追查(Follow-up)。基本的思想是:预先制定好每一个步骤所需要达到的输出要求。

缺陷:流程繁琐,开销大。一般用于关于生命安全的代码项目

2、 轻量级代码审查

(1)瞬时代码审查(结对编程)

适用于两个有相似经验水平的开发者处理复杂的业务问题的情况

(2)同步代码审查(即时代码审查)

人工进行代码审查,一人写一人即时看(适用于小规模项目程序),用于审查者不清楚任务的目标时,需要开发者向其进行解释的这种情况。

(3)异步代码审查(工具支持代码审查,利用各种代码审查工具)

避免了强行切换思路带来的问题,对大多数用例都工作得很好。(目前最常用的代码审查方式)

(4)偶尔代码审查(基于会议计划的代码审查)

适用于初建项目团队。

四、错误报告

   代码审査问题表应写明所査出的错误类型、错误类别、错误严重程度、错误位置、错误原因。错误类型有文档错误、编程语言错误、逻辑错误、接口错误、数据使用错误、编程风格不当、软件多余物,错误类别有遗漏、错误、多余。

五、对于Upsource的基本功能的小结

经过一系列的查找资料、总结资料和环境的下载安装配置等流程,对于Upsource的大体功能完成了初步试用,现作以下小结:

   <一>、安装

   安装过程稍有些复杂、时间较长,服务端安装完毕,还需要从网页里面访问触发初始化,这个过程很漫长。需要搭配代码托管工具使用,这里试用采用的是Git。

   <二>、使用过程

   1、免费使用限10名用户,初始自动分配一个host和一个guest,后续还可增加8个guest

   2、界面简单,使用简单

   3、个性化小功能很实用:邮件提醒、支持直接邮件进行修改、项目审查者节点关系图(可以表现出项目审查者之间联系的频率)、项目树状图(获得项目结构的概览,然后找出具有异常维护模式的文件和目录)。

   4、提交历史记录:Upsource可以列出代码库中的最近变更列表。对于每个提交,提交消息、作者、时间和提交ID都立即可见,以差异视图的快速链接形式显示。

   5、广泛的VCS支持:Git、Mercurial、Subversion 和 Perforce
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值