Google的Javascript风格指南
2 源文件基础
2.1 文件命名
文件名必须全部为小写,并且可以包含下划线(_)或者破折号(-),但不能包含其它标点符号。具体请遵循项目使用的约定。文件名的扩展名必须为.js。
2.2 文件编码:UTF-8
源文件编码方式为UTF-8。
2.3 特殊字符
2.3.1 空格字符
除行终止符序列外,ASCII水平空格字符(0x20)是唯一出现在源文件中任何地方的的空格字符,这意味着:
- 字符串文字中的所有其它空白字符均被转义,并且
- 制表符不用于锁进。
2.3.2 特殊转义序列
对于具有特殊转义序列(\’, \", \\, \b, \f, \n, \r, \t, \v)的任何字符,将使用该序列,而不是相应的数字转义符(例如\x0a, \u000a, or \u{a}),从不使用旧式的八进制转义符。
2.3.3 非ASCII字符
对于其余的非ASCII字符,使用实际的unicode字符(例如 ∞ \infin ∞)或者等效的十六进制或者unicode转义(例如\u221e),这仅取决于哪种方式使代码更易于阅读和理解。
小技巧:在unicode转义的情况下,有时甚至使用实际的unicode字符,解释性注释也可能非常有帮助。
/* Best: perfectly clear even without a comment. */
const units = 'μs';
/* Allowed: but unncessary as μ is a printable character. */
const units = '\u03bcs'; // 'μs'
/* Good: use escapes for non-printable characters with a comment for clarity. */
return '\ufeff' + content; // Prepend a byte order mark.
/* Poor: the reader has no idea what character this is. */
const units = '\u03bcs';
小技巧:不要因为担心某些程序可能无法正确处理非ASCII字符而使代码的可读性降低。如果发生这种情况,这些程序将被破坏,必须对其进行修复。