Java黑科技之通过谷歌Java风格的文件配置想法和Ecplise的示例分析

  介绍

这篇文章给大家分享的是有关Java黑科技之通过谷歌Java风格的文件配置想法和Ecplise的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

一、引言

每一个公司,团队的代码风格可能都不一样,只要团队内有自己统一的风格就好。接下来,介绍谷歌Java代码风格,并且如何在想法和Ecplise两种比较流行的Java集成开发环境中配置谷歌Java代码风格。

如果不看谷歌代码风格详细介绍的,可以下拉到最后查看想法和Ecplise配置谷歌Java风格教程和谷歌Java风格的文件下载。

二,谷歌Java风格介绍

2.1源文件基础

<强>文件名

Java源文件名区分大小写的,并且首字母大写,以<代码>。java代码扩展名结束。

<强>文件编码

java源文件编码格式为utf - 8。

<强>特殊字符

<李>

空格字符:除了行结束符之外,ASCII水平空格字符(0 x20)是唯一出现在源文件中任何地方的空格字符。这也意味着,字符串和字符文字中的所有其他空白字符均被转义。制表符不用于缩进。

<李>

特殊的转义序列:所有转义序列(\ b \ t \ n \ f \ r \”、\ & # 39;和\ \),不是八进制(例如\ 012)或Unicode(例如\ u000a)的转义。

<李>

非ASCII字符:对于其余的非ASCII字符,则使用实际的Unicode字符(例如∞)或等效的Unicode转义符(例如\ u221e)。用哪种取决于使代码更易于阅读和理解,尽管Unicode会在字符串文字之外进行转义,但是不建议不在注释中使用例。如<代码>字符串unitAbbrev=唉蘳"> 字符串unitAbbrev=癨 u03bcs"

2.2源文件结构

一个Java源文件,按以下顺序组成,并且每个部分空一行分隔开:

1。许可或版权信息(如果有)

2.包语句,并且不换行的

3.导入语句,最后不要使用通配符导入,无论是静态导入还是其他方式,每一行导入语句都是不换行的;所有静态导入都在一个块中,所有非静态导入也在同一个块中,块之间用一空白行分隔开;在每个块中,导入的名称均按ASCII排序顺序显示。

4。顶级类定义

每一个顶级类都应该在一个单独的源文件中,对于一个类中的内容,最好是有意识地对类中的内容按某种规则排序排版,例如新的方法一般添加在类的尾部,这样我们可以根据时间线索了解这些方法何时加进来的,再比如,当一个类具有多个构造函数或多个具有相同名称的方法时,它们将顺序出现,并且它们之间没有其他代码(甚至没有私有成员).

2.3格式化

前提须知,下文中提及的块状结构是指类的主体,方法或构造函数。

<强>花括号

如果,,,,,等语句块使用花括号,即使花括号内容是空的或者只有一行语句。

对于内容非空的花括号块,遵循以下规则:

左括号前不换行

左括号后换行

右括号前换行

右括号后换行,如方法块,构造函数、类的主体括号情况下才换行。有些整体搭配不换行,例如前还面的右括号,试块的右括号等。

return  (),→, {   while 才能;(条件()),{   ,,,()方法;   ,,}   };      return  new  MyClass (), {   @Override 才能;public  void 方法(),{   ,,,if (条件()),{   ,,,,,try  {   ,,,,,,,();   ,,,,,},catch  (Exception  e), {   ,,,,,,,恢复();   ,,,,,}   ,,,},else  if  (otherCondition ()), {   ,,,,,换掉();   ,,,},{else    ,,,,,的经验();   ,,,}   ,,}   };

对于一些空内容的块,以下两种方式都可接受:

void  doNothing (), {}      void 才能;doNothingElse (), {   以前,,}

<强>缩进

关于一些块结构等的缩进,建议2个空格,并且注释也最好和代码缩进保持一致。

<强>每行一个声明

每个语句后都有一个换行符,不要将多行语句都写在同一行。

<>强列数限制

Java代码的列数限制为100个字符,一个字符是指一个Unicode字符。除非另有说明,否则超出该限制的任何行都必须进行换行。

不过也有一些例外可以超过此限制,例如:

<李>

Javadoc中的长URL或长的JSNI方法引用

<李>

包和导入语句

<李>

注释中的命令行,因为可能需要将其拷贝到shell中执行

Java黑科技之通过谷歌Java风格的文件配置想法和Ecplise的示例分析