2. 源文件基础¶
2.1. 文件名¶
源文件的文件名由其包含的 唯一的 顶级类的名称(大小写敏感)加上 .java
扩展名构成。
2.2. 文件编码:UTF-8¶
源文件应使用 UTF-8 编码。
2.3. 特殊字符¶
2.3.1. 空白字符¶
除了换行符之外,源文件中唯一能够出现的空白字符是 ASCII的水平空格字符(0x20) 。这意味着:
字符串和字符组成的文本中的所有其他空白字符都应该被转义
Tab字符 不能 用于缩进
2.3.2 特殊转义序列¶
对于任何 有特殊转义序列 的字符( \b
、 \t
、 \n
、 \f
、 \r
、 \"
、 \'``和 ``\\
),应使用以上序列,而不是相应的八进制(例如 \012
)或Unicode(例如 \u000a
)转义。
2.3.3. 非ASCII字符¶
对于其余的非ASCII字符,可以使用实际的Unicode字符(例如 ∞)或等效的Unicode转义(例如 \u221e
),这只取决于哪种方式使代码 更容易阅读和理解 ,尽管我们强烈不建议在字符串文本和注释之外使用Unicode转义。
Tip
在使用Unicode转义的情况下,即使在偶尔使用实际的Unicode字符的时候,添加一个解释性的注释可能会非常有帮助。
示例:
例子 |
点评 |
---|---|
|
最佳:即使没有注释也完全清晰明了 |
|
可以,但没有理由这样做 |
|
可以,但这样不够优雅且容易出错 |
|
差:读者完全不知道这是什么 |
|
好:对不可打印的字符使用转义,并在必要时加上注释 |
Tip
永远不要仅仅因为担心某些程序可能无法正确处理非ASCII字符而去降低代码的可读性。如果真的发生这种情况,那么说明这些程序是有问题的,你应该修复它们。