Code Review的一些典型内容
如下是Code Review中一些典型的内容:
一、常规项:
1、代码能够工作么?它有没有实现预期的功能,逻辑是否正确等。
2、所有的代码是否简单易懂?
3、代码符合你所遵循的编程规范么?这通常包括大括号的位置,变量名和函数名,行的长度,缩进,格式和注释。
4、是否存在多余的或者重复的代码?
5、代码是否尽可能的模块化了?
6、是否有可以被替换的全局变量?
7、是否有被注释掉的代码?
8、循环是否设置了长度和正确的终止条件?
9、是否有可以被库函数替代的代码?
10、是否有可以删除的日志或调试代码?
二、安全:
1、所有的数据输入是否都进行了检查(检测正确的类型,长度,格式和范围)并且进行了编码?
2、在哪里使用了第三方工具,返回的错误是否被捕获?
3、输出的值是否进行了检查并且编码?
4、无效的参数值是否能够处理?
三、文档:
1、是否有注释,并且描述了代码的意图?
2、所有的函数都有注释吗?
3、对非常规行为和边界情况处理是否有描述?
4、第三方库的使用和函数是否有文档?
5、数据结构和计量单位是否进行了解释?
6、是否有未完成的代码?如果是的话,是不是应该移除,或者用合适的标记进行标记比如‘TODO’?
四、测试:
1、代码是否可以测试?比如,不要添加太多的或是隐藏的依赖关系,不能够初始化对象,测试框架可以使用方法等。
2、是否存在测试,它们是否可以被理解?比如,至少达到你满意的代码覆盖(code coverage)。
3、单元测试是否真正的测试了代码是否可以完成预期的功能?
4、是否检查了数组的“越界“错误?
5、是否有可以被已经存在的API所替代的测试代码?
Code Review的一些典型内容的更多相关文章
- Code Review最佳实践
我一直认为Code Review(代码审查)是软件开发中的最佳实践之一,可以有效提高整体代码质量,及时发现代码中可能存在的问题.包括像Google.微软这些公司,Code Review都是基本要求,代 ...
- Code Review最佳实践(转)
我一直认为Code Review(代码审查)是软件开发中的最佳实践之一,可以有效提高整体代码质量,及时发现代码中可能存在的问题.包括像Google.微软这些公司,Code Review都是基本要求,代 ...
- 如何在团队中做好Code Review
一.Code Review的好处 想要做好Code Review,必须让参与的工程师充分认识到Code Review的好处 1.互相学习,彼此成就 无论是高手云集的架构师团队,还是以CURD为主的业务 ...
- [充电]Code Review
参考:http://blog.jobbole.com/83595/ http://www.kuqin.com/shuoit/20150319/345323.html 让 Code Review成为一种 ...
- Go Code Review Comments 译文(截止2018年7月27日)
持续更新中- 原文最新链接 https://github.com/golang/go/wiki/CodeReviewComments/5a40ba36d388ff1b8b2dd4c1c3fe820b8 ...
- 我们是怎么做Code Review的
前几天看了<Code Review 程序员的寄望与哀伤>,想到我们团队开展Code Review也有2年了,结果还算比较满意,有些经验应该可以和大家一起分享.探讨.我们为什么要推行Code ...
- 如何搭建开源code review gerrit服务器
搭建环境:Ubuntu 14.04 一.环境准备 1.Java环境 gerrit依赖,用于安装gerrit环境. 下载:jdk-7u79-linux-x64.tar.gz http://www.ora ...
- Code Review Engine Learning
相关学习资料 https://www.owasp.org/index.php/Code_review https://www.owasp.org/images/8/8e/OWASP_Code_Revi ...
- 使用RBTool自动提交code review请求
使用RBTool自动提交code review请求 前言 让我们回想一下手工提交review请求的过程: 首先得用 svn diff > filename.diff 生成diff文件. 然后输入 ...
随机推荐
- The Kernel Newbie Corner: Kernel Debugging with proc "Sequence" Files--Part 3
转载:https://www.linux.com/learn/linux-career-center/44184-the-kernel-newbie-corner-kernel-debugging-w ...
- Excel处理数据用到的一些公式和VBA脚本
最近工作中用到EXCEL统计处理一些数据,正好之前有自学了一段时间的EXCEL,这次正好用上.为了加深印象,以后方便翻阅,就记录下来.这篇会不断补充. IF 多条件判断返回值 IF(logical_t ...
- Face The Right Way 一道不错的尺取法和标记法题目。 poj 3276
Face The Right Way Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 2899 Accepted: 133 ...
- EL 标准格式时间 转换成 常用时间yyyy-MM-dd
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt"%><fmt:format ...
- linux之磁盘配额(quota)
1.什么是quota 简单的说就是限制用户对磁盘空间的使用量. 因为Linux是多用户多任务的操作系统,许多人共用磁盘空间,为了合理的分配磁盘空间,于是就有了quota的出现. 2.quota的用途 ...
- CentOS6.5下用yum安装 git
cd /etc/yum.repos.d/ wget http://geekery.altervista.org/geekery-el6-x86_64.repo 2. 到http://packages. ...
- Git之忽略文件(ignore file)
1. 环境 Windows XP SP3 + TortoiseGit + msysGit 2. ignore files的三种方法 以下涉及的ignore文件均为如下格式: # 以'#'开 ...
- html5 requestAnimationFrame制作动画:旋转风车
详细内容请点击 在以往,我们在网页上制作动画效果的时候,如果是用javascript实现,一般都是通过定时器和间隔来实现的,出现HTML5之后,我们还可以用CSS3 的transitions和anim ...
- 如何提高手机APP的用户体验?
详细内容请点击 随着移动互联网如日中天,如火如荼的时候,手机APP开发日益高涨了起来,关于手机APP的用户体验,也是一个老话长谈的话题.从事这行业也很久了,以下是我个人在工作中的一些关于APP的用户体 ...
- 【Ionic】---App名字和图标修改+启动画修改(SplashScreen)
APP名字 1 修改项目目录下config.xml--name标签 END APP图标和启动画 1 在项目的根目录下创建resources文件夹 在文件夹中都放入 icon.png(应用图标,最小19 ...