编码规范(自己的要求啦)

来源:互联网 发布:堡垒机网络部署案例 编辑:程序博客网 时间:2024/04/30 14:51
 

1. 为什么要有编码规范

编码规范对于程序员而言尤为重要,有以下几个原因:

- 一个软件的生命周期中,80%的花费在于维护;

- 几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护;

- 编码规范可以改善软件的可读性,可以让程序员尽快并彻底地理解新的代码;

- 如果你将源码作为产品发布,就需要确任它是否被很好的打包并且清晰无误;

 

2.编码规范

package java.test;

 

import java.test.test1.TestClass;

 

/**

 * Classdescription goes here.

 *

 * @version         1.82 18 Mar 1999

 * @author         Firstname Lastname

 */

public class Son extends TestClass {

    /**classVar1 documentation comment */

    publicstatic int classVar1;

 

    /**

     *classVar2 documentation comment that happens to be

     * morethan one line long

     */

    privatestatic Object classVar2;

 

    /**instanceVar1 documentation comment */

    publicObject instanceVar1;

 

    /**instanceVar2 documentation comment */

    protectedint instanceVar2;

 

    /** instanceVar3documentation comment */

    privateObject[] instanceVar3;

 

    /**

     *...constructor Son documentation comment...

     */

    public Son() {

        //...implementation goes here...

    }

 

    /**

     *...method doSomething documentation comment...

     */

    publicvoid doSomething() {

        //...implementation goes here...

    }

 

    /**

     *...method doSomethingElse documentation comment...

     * @paramsomeParam description

     */

    publicvoid doSomethingElse(Object someParam) {

        //...implementation goes here...

    }

}

 

3.编程实践

- 若没有足够理由,不要把实例变量或类变量声明为公有;

- 类变量不要以下划线开头;

- 最小化变量的作用域;

- 尽量不要使用静态变量;

- 所有的变量名/方法名都应该是见明知意的,不要使用templx等变量名;

- 变量定义的时候一定要初始化;

- 不要硬编码,即使它只使用了一次;

- 在含有多种运算符的表达式中使用圆括号来避免运算符优先级问题;

- 完成代码的时候,一定要和式样一致;

- 更改的画面一定要在至少在中、日和英文系统(各一个)的真实环境下进行测试;

- 容器类(maplist)在使用之前一定要保证它的正确初始化(里面没有垃圾数据);                    

- 提交代码之前要充分的CDI,尽量进行交叉review,而且review者最好是不懂改造点的人;

- 提交代码之前要比较差分,确保提交的source是正确的;

- 不要将测试数据提交到数据库中;

- 在做GUI的时候,只要有按钮点击,并出现别的画面的时候,必须考虑多重启动的问题;

- 如果编写的是数据类的话,要完成它的toString方法和clone方法;

- 代码在20行左右或者关键的地方必须出现注释;

- 不要出现3重或者3重以上的循环;

- 方法尽量控制在20100行之内;

- 一行的字符个数不要超过80个;

- 使用空行来分割或组织代码,推荐在方法中使用1行,方法见2行,不同部分34行;

- 不要使用tab键,如果使用的话,在eclipse中将tab映射成4space

- 尽量不要copy/paste,尽量使用继承或重构的方式共享相同的代码;

- 要是copy/paste,注意更新注释;

- 在类中,public方法必须写javadoc,还要注意方法改变后同时更新注释或javadoc

- 方法的制限和约定一定要在javadoc中写清楚;

- 注释一定要简明扼要,不要只是代码的重复;

- 不要编写只有自己能看懂的代码,简单就是最好的;

- 不要使用代码生成工具生成的代码并改造它;

- 程序的关键部分和异常都要出好trace

- 一个函数只使用一个returnif else中的各个分支不要遗漏,case不要忘记break

- 一定不要将重要的东西保存在桌面上;

- 不要出现e.printStackTrace()/System.out.println(),可将其输出到log中;

- 无用的代码一定要删除;

- 一定要处理异常;

- 一定要在资源使用完后将其释放,不如filesocket,数据库连接等;

- forwhile等语句后面都要加上大括号;

- 给自己的代码编写单元测试项,编写的时候不要改动被测试项的代码,如果要改,使用反射;

- 方法开始的时候,一定要检查参数的有效性;

- 返回零长度的数组比返回null好;

- 注意按引用传递和按值传递的区别;

 

参考资料:

1. http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html

2. http://www.huihoo.org/code/java_code_conventions.html#b1

原创粉丝点击