zoukankan      html  css  js  c++  java
  • Java编程风格学习(二)

    二、格式规范

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

    (一)缩进嵌套的代码

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

    1如果我们使用开发环境,则我们可以使用开发环境提供的缩进样式。但是如果我们是手写代码,应该使用两个空格缩进。

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

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

    public class MyClass {
      ···
    }

    内部类定义:

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

    方法定义:

    void method(int j) {
      ···
    }

    for循环语句:

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

    if-else语句:

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

    try,catch,finally块:

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

    switch语句:

    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控制符有不同解释的系统中,可能格式混乱、无法阅读。

    为了避免出现以上的情况,我们应该使用空格来缩进代码。在一个团队中,应该设置团队通用的缩进标准,并且团队里的所有人都严格遵守这个标准。

  • 相关阅读:
    Linux系统管理之进程管理
    Linux交换空间swap讲解
    Linux物理存储结构以及磁盘划分
    Linux 文件系统挂载mount命令
    Linux文件系统df、du、fsck命令讲解
    Linux yum源配置以及yum命令讲解
    Linux rpm查询命令以及RPM包验证
    02Python常用模块_01math
    00_python常见用法笔记
    02_python闯关练习_02Max&Min
  • 原文地址:https://www.cnblogs.com/zhengxingpeng/p/6685782.html
Copyright © 2011-2022 走看看