我正在维护一些遗留的Java代码,我不断地遇到在同一代码块中混合使用camel大小写和snake大小写的情况,有些名称完全是camel大小写,有些则完全是snake大小写,还有一些则是一种奇怪的混合(例如displayText_label_maxDiff或hasProperty_)。我意识到这些名称不是公认的Java编码风格,也不应该是。我只是在找一个有意义的术语来用在谈话中。已经有一个被接受的名字了吗?如果没有,你会建议什么?我在想“鹅卵石案”,“路杀案”,或者“奇怪的案子”。
displayText_label_maxDiff
hasProperty_
carvr3hs1#
乍一看,它似乎是camelCase和snake_case的某种定制混合,称为**Upper_Snake_Case或Camel_Snake_Case[1]。更仔细的检查(如下面的评论所指出的)表明,它是一个比这更糟糕的混合体,这是由于在每个大写字母之前没有使用下划线_的不一致性造成的。在这一点上,术语lowerCamel_snakeCase可以描述它(尽管lower_camelCase_embeddedUnderscore更精确[2]),但是...没有这样的东西。所以,如果我们是在编造故事,那么,把 Camel 和蛇(还有野Pig、牛或山羊)结合起来的丑陋的神话杂交动物™的建议似乎是合适的。由于boarCamel_oxOrGoat_snake_case有点过于冗长,ypotryll_case**可能是更好的匹配[3]。特别是ypotryll只在所有欧洲纹章中出现过一次,作为一个被称为"英格兰屠夫"的人的徽章,他以丑陋和残忍而闻名。由于他没有留下继承人,这个徽章再也没有被使用过。我觉得这使得它在形式(结合了 Camel 和蛇)和功能(只遇到过一次,以后再也不会出现)上都与这种编码标准完美匹配。我希望这能回答你的问题,一个ypotryll的图像已添加为您的观赏乐趣:
camelCase
snake_case
Upper_Snake_Case
Camel_Snake_Case
_
lowerCamel_snakeCase
lower_camelCase_embeddedUnderscore
boarCamel_oxOrGoat_snake_case
ypotryll_case
图片来源:https://mistholme.com/dictionary/ypotryll/
[1]由于Upper_Snake_Case经常与SCREAMING_SNAKE_CASE或MACRO_CASE混淆,因此使用**Camel_Snake_Case**是这两种方法中使用起来更安全的一种。[2]参见http://wiki.c2.com/?CapitalizationRules[3]赊账:赊账于该赊账的地方:术语ypotryll_case是由the author of this question在以下评论中创造的。[4]它出现在1470年的芬的徽章之书中,是第一代伍斯特伯爵约翰·蒂普托夫特的徽章。
SCREAMING_SNAKE_CASE
MACRO_CASE
l7wslrjt2#
混合使用snake_case和camelCase可能会引起混淆,并且在使用PascalCase的语言中很容易被误读。例如,my_varAdd()和my_var.Add()看起来太相似了。
my_varAdd()
my_var.Add()
2条答案
按热度按时间carvr3hs1#
乍一看,它似乎是
camelCase
和snake_case
的某种定制混合,称为**Upper_Snake_Case
或Camel_Snake_Case
[1]。更仔细的检查(如下面的评论所指出的)表明,它是一个比这更糟糕的混合体,这是由于在每个大写字母之前没有使用下划线
_
的不一致性造成的。在这一点上,术语
lowerCamel_snakeCase
可以描述它(尽管lower_camelCase_embeddedUnderscore
更精确[2]),但是...没有这样的东西。所以,如果我们是在编造故事,那么,把 Camel 和蛇(还有野Pig、牛或山羊)结合起来的丑陋的神话杂交动物™的建议似乎是合适的。
由于
boarCamel_oxOrGoat_snake_case
有点过于冗长,ypotryll_case
**可能是更好的匹配[3]。特别是ypotryll只在所有欧洲纹章中出现过一次,作为一个被称为"英格兰屠夫"的人的徽章,他以丑陋和残忍而闻名。由于他没有留下继承人,这个徽章再也没有被使用过。
我觉得这使得它在形式(结合了 Camel 和蛇)和功能(只遇到过一次,以后再也不会出现)上都与这种编码标准完美匹配。
我希望这能回答你的问题,一个ypotryll的图像已添加为您的观赏乐趣:
图片来源:https://mistholme.com/dictionary/ypotryll/
脚注
[1]由于
Upper_Snake_Case
经常与SCREAMING_SNAKE_CASE
或MACRO_CASE
混淆,因此使用**Camel_Snake_Case
**是这两种方法中使用起来更安全的一种。[2]参见http://wiki.c2.com/?CapitalizationRules
[3]赊账:赊账于该赊账的地方:术语
ypotryll_case
是由the author of this question在以下评论中创造的。[4]它出现在1470年的芬的徽章之书中,是第一代伍斯特伯爵约翰·蒂普托夫特的徽章。
l7wslrjt2#
混合使用snake_case和camelCase可能会引起混淆,并且在使用PascalCase的语言中很容易被误读。例如,
my_varAdd()
和my_var.Add()
看起来太相似了。