Java编程规范(二)

2、格式规范

在上一篇的java编程规范(一)中咱们讲述了在Java编码中的通常原则,虽然这些原则并不涉及具体的代码规范,可是这些原则倒是咱们在Java开发过程当中所应该遵循的规范与思想。今天咱们将学习一些涉及具体代码书写的格式规范。java

(一)缩进嵌套的代码

为了加强代码的可读性,咱们经常把一些单独的语句组织成语句块,并对各块统一缩进使之与周围代码分开。编程

1、若是咱们使用开发环境,则咱们能够使用开发环境提供的缩进样式。可是若是咱们是手写代码,应该使用两个空格缩进。segmentfault

class MyFuction {
··void function(int arg) {
····if (arg < 0) {
······for (int i = 0; i <= arg; i++) {
········//  ...
······}
····}
··}
}

2、块语句起始端的大括号应该放在引入块语句那一行的最后,结束端的大括号要独占一行,而且与引入嵌套语句那一行的第一个字母对齐。咱们平常使用的代码规范以下:
类定义:dom

public class MyClass {
  ···
}

内部类定义:编辑器

public class OuterClass {
  ···
  class InnerClass {
    ...
  }
}

方法定义:学习

void method(int j) {
  ···
}

for循环语句:this

for (int i = 0; i <= j; i++) {
  ···
}

if-else语句:编码

if (j < 0) {
  ···
}
else if ( j > 0) {
  ···
}
else {
  ···
}

try,catch,finally块:代码规范

try {
  ···
}
catch {
  ···
}
finally {
  ···
}

switch语句:code

switch (value) {
  case 0:
    ···
    break;
  default:
    ···
    break;
}

while语句:

while (a < b) {
  ···
}

do-while语句:

do {
  ···
} while (a < b);

为了提升一个团队的工做效率,不要让每一个组员任意选择各自代码里的缩进量及样式,应该制定统一的一套标准的缩进规则,而且确保团队里的每一个人都遵循这个标准。

(二)断开长句

尽管在窗口化的现代编辑器中,能够利用横向滚动条来阅读很长的单行代码。可是打印机对于超过它最大打印宽度的语句,就会把它们截断、换行或者打印在不一样的页上。所以,要把每行代码的长度限制在打印环境所支持的最大宽度以内,这个值通常是80或者132个字符。

1、不要把多个语句放在同一行里以避免超过最大可接受宽度。应该一条语句放置在一行里。

//  这样写太长
double x = Math.random(); double y = Math.random();

//  应该一句占一行
double x = Math.random();
double y = Math.random();

2、若是一行代码中包含了复杂的表达式,就应该把它拆分为几个短小的子表达式,每一个子表达式的运算结果存储在一个临时变量里,而且单独放置在一行。

//  这样的表达式太长
double length = Math.sqrt(Math.pow(Math.random(),2.0),Math.pow(Math.random(),2.0));

//  应该按下面这样拆分
double x = Math.pow(Math.random(),2.0);
double y = Math.pow(Math.random(),2.0);
double length = Math.sqrt(x + y);

(三) 使用空白

空白就是页面上没有可见字符的区域。代码里若是空白太少就会不易阅读和理解,因此应该使用足够多的空白把方法、注释、代码块和表达式展现清楚。

1、如下状况使用单空白来分隔:
(1) 右括号")"或者紧随其后的关键字;关键字和紧随其后的左括号"("或者"{";右括号")"和紧随其后的左括号"{";其实细心的读者会发如今上述内容的介绍中已经应用了这些规范,在此就不赘述了。

if (j < 0) {
  ···
}
else if ( j > 0) {
  ···
}
else {
  ···
}

(2) 除了"."以外的运算符与其先后的表达式之间。

double length = Math.sqrt(x * x + y * y);
double x = length > 0.0 ? (x / length) : x;

2、如下状况应该使用空行来分隔:
(1) 每一个逻辑上独立的方法实现之间

void handleInfo(Message message) {

  DataInput content = message.getDataInput();
  int messageType = content.readInt();
  
  switch (messageType) {
    
    case warning:
      ...
      break;
      
    case error:
      ...
      break;
      
      default:
        ...
        break;
  }
}

(2) 定义类或者接口时,每一个成员之间使用空行

public class Car {
  
  class InnerCar {
    ...
  }
  
   private Bar bar;
   
   Foo(Bar bar) {
     this.bar = bar;
   }
}

(3) 源文件中,每一个类和接口的定义之间要使用空行

interface Paly {
  ...
}
  
public class Person implements Play{
  ...
}

(四)不要直接使用Tab控制符

不一样的环境对Tab控制符的解释也是不一样的,代码的格式在原来的编辑环境下可能正确无误,可是若是放到另外一个对Tab控制符有不一样解释的系统中,可能格式混乱、没法阅读。

为了不出现以上的状况,咱们应该使用空格来缩进代码。在一个团队中,应该设置团队通用的缩进标准,而且团队里的全部人都严格遵照这个标准。

相关文章
相关标签/搜索