关于“代码规范”,“Review”和“Check list”,就我个人理解,这三者相辅相成。代码规范是在编程时就该注意的,为Review减轻负担。而要进行Review,又需要一个Check list作为支撑。在进行Review过程中,如若发现代码中遗漏了什么规则,则又需要在自己的代码规范和Check list中添加相应的项目。

一.我们先从“代码规范”说起。

http://blog.csdn.net/kimylrong/article/details/7700311  在这篇博客中主要谈到了关于JAVA编写的三大点代码规范,虽然略显笼统,但就大体方向而言让人容易掌握。

https://www.douban.com/note/82618786/   这篇文章则更加具体的谈论了JAVA编写的代码规范,并结合实例,一目了然。

http://wenku.baidu.com/link?                                       url=ZEQyZjRUBBqcvJzkEalC8PdJBvW0twabaZUQPUtilnOpflFbgq31s1HmlACRFNvF5uJ_z47YNiLP2zLaKoA4elJEjJL3PfPQL2_9VHhC9Z3

这篇文章写得是最为详细的,小到代码缩进、对齐,大到模块设计、输入控制等等。

看了这么多关于代码规范的文章,说实话,自己的对于代码规范的想法始终停留在两点:1.格式。   2.注释。        再仔细想想,似乎还有一点,“规则”,例如:命名规则、定义规则等等。但再仔细一想如果说“规则”,那“格式”与“注释”也都应该属于“规则”之中。故还是具体到“格式”,“注释”两点。

二. 再来说说“Review”。

我们为什么要Review?Review要做些什么?这两点必须明确。

Review的目的是什么?目的不明,结果也就无意义。个人觉得有以下几个目的:

1.在项目初期就能发现代码中的BUG,提早解决。

2.发现的问题可以与项目组成员共享,以免发生类似错误。

3.让项目组所有人都参与Review,利于项目、工程或代码的修改与维护。

从目的出发,Review到底要做什么就非常清楚了。

1.根据事先定好的Check list,进行找错,纠错。

2.理解项目、工程或代码的具体功能和作用。

3.在理解功能和作用的基础上,进行针对性的检查。例如:代码完整性检查,代码健壮性检查等等。

三.最后来说说Check list。

不多说,直接上文章。

http://uedc.163.com/4308.html    Web交互设计优化的简易check list

http://blog.sina.com.cn/s/blog_8c78002c0100ttmw.html     这个Check list实例,说实话,虽然样式十分粗糙,但条理还是很清晰的。

接下来是我的Check list。直接借鉴http://blog.jobbole.com/83595/   此博客中的常规项。在随后的学习生活中将继续优化。

1.代码能够工作么?它有没有实现预期的功能,逻辑是否正确等。

2.所有的代码是否简单易懂?

3.代码符合你所遵循的编程规范么?这通常包括大括号的位置,变量名和函数名,行的长度,缩进,格式和注释。

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

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

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

7.是否有被注释掉的代码?

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

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

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

如果上述内容有什么不妥之处,请老师指出。谢谢!

关于“代码规范”,“Review”和“Check list”的更多相关文章

  1. 关于“代码规范”,“Review”和“Check list”(续)

    在前两天的    关于“代码规范”,“Review”和“Check list”    一文中,我给自己列出了Check list,如下: 1.代码能够工作么?它有没有实现预期的功能,逻辑是否正确等. ...

  2. Java静态检测工具/Java代码规范和质量检查简单介绍(转)

    静态检查: 静态测试包括代码检查.静态结构分析.代码质量度量等.它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行.代码检查代码检查包括代码走查.桌面检查.代码审查等,主要检查代码 ...

  3. Android 代码规范大全

    前言 虽然我们项目的代码时间并不长,也没经过太多人手,但代码的规范性依然堪忧,目前存在较多的比较自由的「代码规范」,这非常不利于项目的维护,代码可读性也不够高, 此外,客户端和后端的研发模式也完全不同 ...

  4. 转!!Java代码规范、格式化和checkstyle检查配置文档

    为便于规范各位开发人员代码.提高代码质量,研发中心需要启动代码评审机制.为了加快代码评审的速度,减少不必要的时间,可以加入一些代码评审的静态检查工具,另外需要为研发中心配置统一的编码模板和代码格式化模 ...

  5. 作业三:代码规范、代码复审、PSP

    一.代码规范 我认为我们编写的代码都需要进行规范的操作,因为如果为了图省事情或者为了减少时间去完成这个编程.在最后检验的时候就会出现一些警告,导致你这次编程的代码出现问题,当出现问题的时候你在回头去检 ...

  6. 代码规范、代码复审、PSP

    作业三: 代码规范.代码复审.PSP 代码规范 代码规范的重要性 一.规范的代码可以促进团队合作  一个项目大多都是由一个团队来完成,如果没有统一的代码规范,那么每个人的代码必定会风格迥异.且不说会存 ...

  7. 代码规范之争——[个人Week2作业]

    这四个问题均是出自 http://goodmath.scientopia.org/2011/07/14/stuff-everyone-should-do-part-2-coding-standards ...

  8. Java代码规范、格式化和checkstyle检查配置文档

    http://www.blogjava.net/amigoxie/archive/2014/05/31/414287.html 文件下载: http://files.cnblogs.com/files ...

  9. Jenkins系列——使用checkstyle进行代码规范检查【升级版】

    1.背景 在<Jenkins系列——使用checkstyle进行代码规范检查>一文中完成了ant实现代码规范检查的例子.但存在以下缺陷: 每个作业都需要配置一个不同的checkstyle ...

随机推荐

  1. cloudstack网络部分知识点汇总

    UI界面的几个网络选项 DNS1:供此区域的来宾VM使用,此区域的公用IP必须路由到此服务器: 内DNS:供此区域的系统VM使用,提供点的专用IP必须路由到此服务器: 如:你在添加存储设备时,用的主机 ...

  2. 使用php分页类实现简单分类

    分页类參考地址:http://blog.csdn.net/buyingfei8888/article/details/40260127 just soso. 实现分页主要分为4步: 1 引入分页类 2 ...

  3. 2.4《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——小结

    下Table 3本章重要命令小结 命令 描述 示例 > 将输出内容重定向到指定文件中 $ echo foo > foo.txt >> 将输出内容添加到指定问价中 $ echo ...

  4. SAP函数 LAST_DAY_OF_MONTHS 获取月末最后一天日期

    DATA LAST_DATE TYPE SY-DATUM. CALL FUNCTION 'LAST_DAY_OF_MONTHS' EXPORTING day_in = sy-datum IMPORTI ...

  5. 约束布局constraint-layout导入失败的解决方案 - 转

    今天有同事用到了约束布局,但是导入我的工程出现错误 **提示错误: Could not find com.Android.support.constraint:constraint-layout:1. ...

  6. proftpd启动失败提示unable to determine IP address of “xxx.com”

    proftpd启动失败提示unable to determine IP address of “xxx.com”这种proftpd启动失败的原因是无法解析后面主机的IP地址,解决方法是在DNS列表中增 ...

  7. Selenium-Switch与SelectApi接口详解

    Switch 我们在UI自动化测试时,总会出现新建一个tab页面.弹出一个浏览器级别的弹框或者是出现一个iframe标签,这时我们用WebDriver提供的Api接口就无法处理这些情况了.需要用到Se ...

  8. python中获取执行脚本路径方法

    1.sys.path[0]:获取执行脚本目录绝对路径 #每次执行脚本时,python会将执行脚本目录加入PYTHONPATH环境变量中(sys.path获取) #!/usr/bin/python3 i ...

  9. R语言学习 第一篇:变量和向量

    R是向量化的语言,最突出的特点是对向量的运算不需要显式编写循环语句,它会自动地应用于向量的每一个元素.对象是R中存储数据的数据结构,存储在内存中,通过名称或符号访问.对象的名称由大小写字母.数字0-9 ...

  10. Flask学习-Flask app启动过程

    因为0.1版本整体代码大概只有350行,比较简单.所以本篇文章会以Flask 0.1版本源码为基础进行剖析Flask应用的启动过程. Flask参考资料flask,官网有一个最简单app: from ...