资讯专栏INFORMATION COLUMN

Java编程规范(二)

骞讳护 / 1889人阅读

摘要:二格式规范在上一篇的编程规范一中我们讲述了在编码中的一般原则,虽然这些原则并不涉及具体的代码规范,但是这些原则却是我们在开发过程中所应该遵循的规范与思想。不要把多个语句放在同一行里以免超过最大可接受宽度。

二、格式规范

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

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/66685.html

相关文章

  • Java编程风格学习(三)

    摘要:在上一篇的编程风格学习二中我们学习了一些在编码过程中的格式规范,遵循这些规范毋庸置疑是我们的书写高质量代码的前提与基础。二语言编程规范常量命名常量的每个单词均大写,单词之间使用下划线连接。方法表示动作,采用动词命名。 在上一篇的java编程风格学习(二)中我们学习了一些在Java编码过程中的格式规范,遵循这些规范毋庸置疑是我们的书写高质量代码的前提与基础。今天我们更进一步,一起来学习J...

    CoderDock 评论0 收藏0
  • Java编程规范(一)

    摘要:最近在看一本有关编程规范的书,书中精炼阐述了使用语言时应该遵循的一些原则。所以拥有良好一致的编程规范对于一个团队至关重要。二坚持最小惊奇原则在编码过程中尽量避免可能让软件用户感到意外的做法。 最近在看一本有关Java编程规范的书,书中精炼阐述了使用java语言时应该遵循的一些原则。接下来的一段时间我将在这里总结我的学习内容,也希望这一系列文章能够对有需要的人有所帮助。 不考虑任何编码规...

    Godtoy 评论0 收藏0
  • 乐字节Java变量与数据结构之一:Java编程规范、关键字和标识符

    摘要:大家好,我是乐字节的小乐,这次要给大家带来的是变量与数据类型。本文是第一集编程规范,关键字与标识符。后面我们要写一个程序的过程。需求分析实现代码体现注释的作用解释说明程序,提高了代码的阅读性。可以帮助我们调试程序。 大家好,我是乐字节的小乐,这次要给大家带来的是Java变量与数据类型。本文是第一集:Java编程规范,关键字与标识符。showImg(https://segmentfaul...

    qianfeng 评论0 收藏0
  • Spring Boot 2 快速教程:WebFlux 快速入门(

    摘要:响应式编程是基于异步和事件驱动的非阻塞程序,只是垂直通过在内启动少量线程扩展,而不是水平通过集群扩展。三特性常用的生产的特性如下响应式编程模型适用性内嵌容器组件还有对日志消息测试及扩展等支持。 摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! 02:WebFlux 快速入门实践 文章工程: JDK...

    gaara 评论0 收藏0
  • 自己整理的java编程规范

    摘要:努力避免硬编码。一个类的总体行数尽量控制在行左右不超过一千行。函数注释函数注释采用,在每个函数或者过程的前面要有必要的注释信息,包括函数或过程名称功能描述输入输出及返回值说明调用关系及被调用关系说明等。 前言 推荐Google的Java编码规范英文版: http://google-styleguide.googlecode.com/svn/trunk/javaguide.html 虽然...

    yedf 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<