Java 编程规范,常见规范,命名规范,复杂度

时间:2021-09-02 06:35:48

方法/步骤

  1. 1. *不允许把多个短语句写在一行中,即一行只写一条语句

    1. 示例:如下例子不符合规范。

    LogFilename now = null;        LogFilename that = null;

    应如下书写:

    LogFilename now = null;

    LogFilename that = null;

    2. *if, for, do, while, case, switch, default 等语句自占一行,且if, for, do, while等语句的执行语句无论多少都要加括号{}。

    示例:如下例子不符合规范。

    if(writeToFile)           writeFileThread.interrupt();

    应如下书写:

    if(writeToFile)

    {

    writeFileThread.interrupt();

    }

    3. *相对独立的程序块之间、变量说明之后必须加空行。

    示例:如下例子不符合规范。

    if(log.getLevel() < LogConfig.getRecordLevel())

    {

    return;

    }

    LogWriter writer;

    应如下书写:

    if(log.getLevel() < LogConfig.getRecordLevel())

    {

    return;

    }

    LogWriter writer;

    int index;

    4. *对齐只使用空格键,不使用TAB键。

    说明:以免用不同的编辑器阅读程序时,因TAB键所设置的空格数目不同而造成程序布局不整齐。

    JBuilder、UltraEdit等编辑环境,支持行首TAB替换成空格,应将该选项打开。

    5. *在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或者前后要加空格;

    进行非对等操作时,如果是关系密切的立即操作符(如.),后不应加空格。

    说明:采用这种松散方式编写代码的目的是使代码更加清晰。

    由于留空格所产生的清晰性是相对的,所以,在已经非常清晰的语句中没有必要再留空格,

    如果语句已足够清晰则括号内侧(即左括号后面和右括号前面)不需要加空格,多重括号间不必加空格,因为在Java语言中括号已经是最清晰的标志了。

    在长语句中,如果需要加的空格非常多,那么应该保持整体清晰,而在局部不加空格。给操作符留空格时不要连续留两个以上空格。

    示例:

    (1) 逗号、分号只在后面加空格。

    int a, b, c;

    1.

    (2) 比较操作符, 赋值操作符"="、 "+=",算术操作符"+"、"%",逻辑操作符"&&"、"&",位域操作符"<<"、"^"等双目操作符的前后加空格。

    if (current_time >= MAX_TIME_VALUE)

    a = b + c;

    a *= 2;

    a = b ^ 2;

    1.

    (3) "!"、"~"、"++"、"--"、"&"(地址运算符)等单目操作符前后不加空格。

    flag = !isEmpty; // 非操作"!"与内容之间

    i++;             // "++","--"与内容之间

    1.

    (4) "."前后不加空格。

    p.id = pid;     // "."前后不加空格

    1.

    (5) if、for、while、switch等与后面的括号间应加空格,使if等关键字更为突出、明显。

    if (a >= b && c > d)

  2. 命名规范:

    1.包名采用域后缀倒置的加上自定义的包名,采用小写字母。在部门内部应该规划好包名的范围,防止产生冲突。

    部门内部产品使用部门的名称加上模块名称。产品线的产品使用产品的名称加上模块的名称。

    2.类名和接口使用类意义完整的英文描述,每个英文单词的首字母使用大写、其余字母使用小写的大小写混合法。

    3.方法名使用类意义完整的英文描述:第一个单词的字母使用小写、剩余单词首字母大写其余字母小写的大小写混合法。

    4. 方法中,存取属性的方法采用setter 和 getter方法,动作方法采用动词和动宾结构。

    5.属性名使用意义完整的英文描述:第一个单词的字母使用小写、剩余单词首字母大写其余字母小写的大小写混合法。属性名不能与方法名相同。

    6. 常量名使用全大写的英文描述,英文单词之间用下划线分隔开,并且使用 final static 修饰。

    7.属性名可以和公有方法参数相同,不能和局部变量相同,引用非静态成员变量时使用 this 引用,引用静态成员变量时使用类名引用。

  3. 复杂度:

    建议的最大规模:

    继承层次 4层

    类的行数 1000行(包含{})

    类的属性 10个

    类的方法 20个

    类友好方法 10个

    类私有方法 15个

    类保护方法 10个

    类公有方法 10个

    类调用方法 20个

    方法参数 5个

    return语句 1个