【问题标题】:Starting Class or Method Names with Numbers, Why Not?以数字开头的类或方法名称,为什么不呢?
【发布时间】:2009-01-22 21:52:39
【问题描述】:
我最近正在快速缩短 JavaScript 文件中的一些方法名称,但在转换一个方法名称时遇到了问题:
之前:
RefreshSevenDayGrid(){
// some stuff
}
之后:
7Day() {
// some stuff
}
我很快发现 javascript 不再有效。我从几个人那里听说,数字永远不应该用于方法或类名。有没有例外?
【问题讨论】:
标签:
javascript
naming-conventions
naming
【解决方案1】:
它往往会导致适合语言解析器。它看到一个前导数字,因此希望开始读取数字文字,然后在看到一个字母时会倒掉。即使是代数约定,字母左侧的数字也是一个单独的数字文字,省略了空格,因此 7x 将被视为两个标记。
【解决方案2】:
除了 Jeffrey Hantin 说的,还有数字常量比如
3e7 // 3x10^7
40L // C, C++, etc for a long integer
0x88 // hexadecimal
在大多数语言中广泛使用的标识符的一般约定是[S except for 0-9][S]*,其中 S 是一组有效字符(A-Z、a-z、0-9,有时是 _、$ 或 -)——所以第一个字符不能是数字,但其余的可以。