我在一个论坛上参与了一个有趣的讨论,我们讨论的是变量的命名。
撇开约定俗成的规范不谈,我注意到一个变量可以使用Unicode字符作为名称是合法的。例如,下面的命名是合法的:
然而,如果我例如给它命名为#,它会产生一个错误。根据Sun的教程,如果以字母、美元符号"$"或下划线字符"_"开头,那么它是有效的。
但是Unicode 1234是一些埃塞俄比亚字符。那么什么才真正被定义为"字母"呢?
撇开约定俗成的规范不谈,我注意到一个变量可以使用Unicode字符作为名称是合法的。例如,下面的命名是合法的:
int \u1234;
然而,如果我例如给它命名为#,它会产生一个错误。根据Sun的教程,如果以字母、美元符号"$"或下划线字符"_"开头,那么它是有效的。
但是Unicode 1234是一些埃塞俄比亚字符。那么什么才真正被定义为"字母"呢?
AUTH_✅
和AUTH_❌
这样的枚举常量,这样一切都能很好地对齐,并且一目了然。我实际上很惊讶地发现这些类型的字符在标识符中是不允许的。 - undefined