关于“代码规范”,“Review”和“Check list”
关于“代码规范”,“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”的更多相关文章
- 关于“代码规范”,“Review”和“Check list”(续)
在前两天的 关于“代码规范”,“Review”和“Check list” 一文中,我给自己列出了Check list,如下: 1.代码能够工作么?它有没有实现预期的功能,逻辑是否正确等. ...
- Java静态检测工具/Java代码规范和质量检查简单介绍(转)
静态检查: 静态测试包括代码检查.静态结构分析.代码质量度量等.它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行.代码检查代码检查包括代码走查.桌面检查.代码审查等,主要检查代码 ...
- Android 代码规范大全
前言 虽然我们项目的代码时间并不长,也没经过太多人手,但代码的规范性依然堪忧,目前存在较多的比较自由的「代码规范」,这非常不利于项目的维护,代码可读性也不够高, 此外,客户端和后端的研发模式也完全不同 ...
- 转!!Java代码规范、格式化和checkstyle检查配置文档
为便于规范各位开发人员代码.提高代码质量,研发中心需要启动代码评审机制.为了加快代码评审的速度,减少不必要的时间,可以加入一些代码评审的静态检查工具,另外需要为研发中心配置统一的编码模板和代码格式化模 ...
- 作业三:代码规范、代码复审、PSP
一.代码规范 我认为我们编写的代码都需要进行规范的操作,因为如果为了图省事情或者为了减少时间去完成这个编程.在最后检验的时候就会出现一些警告,导致你这次编程的代码出现问题,当出现问题的时候你在回头去检 ...
- 代码规范、代码复审、PSP
作业三: 代码规范.代码复审.PSP 代码规范 代码规范的重要性 一.规范的代码可以促进团队合作 一个项目大多都是由一个团队来完成,如果没有统一的代码规范,那么每个人的代码必定会风格迥异.且不说会存 ...
- 代码规范之争——[个人Week2作业]
这四个问题均是出自 http://goodmath.scientopia.org/2011/07/14/stuff-everyone-should-do-part-2-coding-standards ...
- Java代码规范、格式化和checkstyle检查配置文档
http://www.blogjava.net/amigoxie/archive/2014/05/31/414287.html 文件下载: http://files.cnblogs.com/files ...
- Jenkins系列——使用checkstyle进行代码规范检查【升级版】
1.背景 在<Jenkins系列——使用checkstyle进行代码规范检查>一文中完成了ant实现代码规范检查的例子.但存在以下缺陷: 每个作业都需要配置一个不同的checkstyle ...
随机推荐
- Android 打造属于自己的照片选择器
前言 在做第一个项目时照片选择器使用了开源的PhotoPicker 渐渐无法满足需求,就想着打造一款属于自己的照片选择器. 花了一周的时间完成了该项目,其实代码有一大半并非自己写的,在阅读PhotoP ...
- leetcode 217—Contains Duplicate
Given an array of integers, find if the array contains any duplicates. Your function should return t ...
- Underscore.js 入门-常用方法介绍
Underscore.js是一个很精干的库,压缩后只有4KB.它提供了几十种函数式编程的方法,弥补了标准库的不足,大大方便了JavaScript的编程.MVC框架Backbone.js就将这个库作为自 ...
- 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 ...
- kettle学习笔记(九)——子转换、集群与变量
一.概述 kettle中3个重要的步骤: 子转换/映射 在转换里调用一个子转换,便于封装和重用. 集群 集群模式 变量和参数 变量和参数的用法 二.子转换 1.定义子转换 主要由映射输入与映射输出定义 ...
- 2017-2018-2 20155203《网络对抗技术》Exp4 恶意代码分析
1. 实践过程记录 1. 使用Windows计划任务schtasks监控系统运行 Windows计划任务schtasks监控系统: 在C盘建立一个netstatlog.bat文件,用来将记录的联网结果 ...
- EZ 2018 03 30 NOIP2018 模拟赛(六)
链接:http://211.140.156.254:2333/contest/67 转眼间上次加回来的Rating又掉完了. 这次不知为何特别水,T1想了一段时间没想出来弃了,导致后面心态炸了. T2 ...
- Linux日记Day3---Linux的文件属性与目录配置
Linux最优秀的地方之一,就在于它的多用户.多任务环境.为了让用户具有较安全的管理机制,文件的权限管理是很重要的.Linux通常将文件的访问方式分为分为三个类别,分别是owner/group/oth ...
- C语言学习之联合类型
前言 联合(union)是一种特殊的数据类型,和结构体很像,结构体各成员变量有自己独立的存储位置,而联合的成员变量共享同一片存储区域,因此联合变量再一个时刻只能保存它的某一个成员的值. 联合的定义和初 ...
- 异常 java.lang.IllegalArgumentException: Result Maps collection already contains value
这是因为用了一次以上(多次)mbg导致sql映射文件堆积导致的异常,删除对应的sql映射文件,然后重新生成即可. Caused by: java.lang.IllegalArgumentExcepti ...