zoukankan      html  css  js  c++  java
  • Java 编程规范,常见规范,命名规范,复杂度

    方法/步骤

     
    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个

  • 相关阅读:
    nodejs安装express及ejs模板
    nodejs开启服务器
    php 汉字转拼音
    使PHP像js一样链式写法
    apache出现\xef\xbb\xbf
    更改CI自定义类构造函数的传参方式
    DEV ComBoxEdit实现模糊检索数据
    微软一站式示例代码库(中文版)20110924版本, 新添加ASP.NET, Windows Base, Silverlight, WinForm等20个Sample
    Windows Azure 系列分享一:开始基于Windows Azure的开发与部署所需的概念和软件
    Windows Azure 系列分享二: Worker Role & Web Role
  • 原文地址:https://www.cnblogs.com/Andy-/p/7861487.html
Copyright © 2011-2022 走看看