这篇文章给大家分享的是有关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中执行
李>