关于“代码规范”,“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. Android 打造属于自己的照片选择器

    前言 在做第一个项目时照片选择器使用了开源的PhotoPicker 渐渐无法满足需求,就想着打造一款属于自己的照片选择器. 花了一周的时间完成了该项目,其实代码有一大半并非自己写的,在阅读PhotoP ...

  2. leetcode 217—Contains Duplicate

    Given an array of integers, find if the array contains any duplicates. Your function should return t ...

  3. Underscore.js 入门-常用方法介绍

    Underscore.js是一个很精干的库,压缩后只有4KB.它提供了几十种函数式编程的方法,弥补了标准库的不足,大大方便了JavaScript的编程.MVC框架Backbone.js就将这个库作为自 ...

  4. hiveserver2连接报错: User: root is not allowed to impersonate anonymous (state=08S01,code=0)

    使用HiveServer2运行时,启动好HiveServer后运行 private static String url = "jdbc:hive2://192.168.213.132:100 ...

  5. kettle学习笔记(九)——子转换、集群与变量

    一.概述 kettle中3个重要的步骤: 子转换/映射 在转换里调用一个子转换,便于封装和重用. 集群 集群模式 变量和参数 变量和参数的用法 二.子转换 1.定义子转换 主要由映射输入与映射输出定义 ...

  6. 2017-2018-2 20155203《网络对抗技术》Exp4 恶意代码分析

    1. 实践过程记录 1. 使用Windows计划任务schtasks监控系统运行 Windows计划任务schtasks监控系统: 在C盘建立一个netstatlog.bat文件,用来将记录的联网结果 ...

  7. EZ 2018 03 30 NOIP2018 模拟赛(六)

    链接:http://211.140.156.254:2333/contest/67 转眼间上次加回来的Rating又掉完了. 这次不知为何特别水,T1想了一段时间没想出来弃了,导致后面心态炸了. T2 ...

  8. Linux日记Day3---Linux的文件属性与目录配置

    Linux最优秀的地方之一,就在于它的多用户.多任务环境.为了让用户具有较安全的管理机制,文件的权限管理是很重要的.Linux通常将文件的访问方式分为分为三个类别,分别是owner/group/oth ...

  9. C语言学习之联合类型

    前言 联合(union)是一种特殊的数据类型,和结构体很像,结构体各成员变量有自己独立的存储位置,而联合的成员变量共享同一片存储区域,因此联合变量再一个时刻只能保存它的某一个成员的值. 联合的定义和初 ...

  10. 异常 java.lang.IllegalArgumentException: Result Maps collection already contains value

    这是因为用了一次以上(多次)mbg导致sql映射文件堆积导致的异常,删除对应的sql映射文件,然后重新生成即可. Caused by: java.lang.IllegalArgumentExcepti ...