关于“代码规范”,“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. QGIS里的编程模型

    项目(QgsProject) 用于读写项目状态 图层分组(QgsLayerTreeGroup) 项目树的分组节点,用来存放图层节点. 图层节点(QgsLayerTreeLayer) 项目树的图层节点. ...

  2. ubuntu16.04下的htk安装编译

    HTK(HMM Tools Kit)是一个剑桥大学开发的专门用于建立和处理HMM的实验工具包[1],主要应用于语音识别领域,也可以应用于语音合成.字符识别和DNA排序等领域.HTK经过剑桥大学.Ent ...

  3. win10家庭版安装DockerToolbox-18.03.0-ce

    下载DockerToolbox-18.03.0-ce.exe https://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ 点击安 ...

  4. kubernetes 限制网络带宽 annotation -- 注解 -- 类似 label

    1.可以通过给Pod增加 kubernetes.io/ingressbandwidth和 kubernetes.io/egress-bandwidth 这两个annotation来限制Pod的网络带宽 ...

  5. WPF EventTrigger,BeginStoryboard

    <Window x:Class="WpfApplication2.LoginWind" xmlns="http://schemas.microsoft.com/wi ...

  6. centos 6.5 搭建开源堡垒机 Teleport 遇到的问题解决

    几款开源的堡垒机 下面进行 teleport 的安装: https://docs.tp4a.com/install/#11 异常1:libc.so.6: version `GLIBC_2.14' no ...

  7. 一个可以代替冗长switch-case的消息分发小框架

    在项目中,我需要维护一个应用层的字节流协议.这个协议的每条报文都是一个字节数组,数组的头两个字节表示消息的传送方向,第三.四个字节表示消息ID,也就是消息种类,再往后是消息内容.时间戳.校验码等……整 ...

  8. SpringMVC源码总结

    SpringMVC源码总结 http://blog.csdn.net/z69183787/article/details/52816927

  9. 调试OV2735总结

    调试找到的问题: 1:开始调试的时候因为之前的工程师原理图和BOM出错,导致本来是2.8V电压的焊接的是1.8V的LDO所以这个是第一个问题 2:因为FAE反应说sensor没有反应I2C没有通信,所 ...

  10. unity中利用纯物理工具制作角色移动跳跃功能

    using System.Collections;using System.Collections.Generic;using UnityEngine; public class Player : M ...