让我们暂时假设您使用一种使用camelcase单词作为标识符的语言进行编程。使用下划线分隔的方法名称的所有Ruby类型都可以使用这个名称。
当您的名字包含首字母缩略词时,您采用什么方法将字母大写后?例如,你会调用createSQLBuffer或createSqlBuffer方法吗?你有制定政策规定在这种情况下该做什么吗?此外,任何人都可以链接我一些特别推荐其中一篇的文章,或事实上任何涵盖这一点的文章吗?
我知道这并不是什么大不了的事,但出于某种原因,我有时会遇到一种方法/类/变量大写单向和另一种看起来更自然的东西。奇怪的是,我甚至不确定它是否一致;我发现我喜欢某些名字的全部大写,而其他人的名字则小写,这并不会让我感到惊讶。
有人想就此分享他们的意见吗?
答案 0 :(得分:11)
我很喜欢大写字母时将缩略语作为一个单词处理,所以我喜欢createSqlBuffer。
答案 1 :(得分:4)
.NET命名指南(即使它是pascal套接字)建议只使用首字母缩写词中的第一个字母,除非它是两个字母的首字母缩写(所以createSqlBuffer
,但是createIOBuffer
)。
答案 2 :(得分:3)
IMO,只有首字母缩略词的首字母才有意义,如果只是因为大写整个单词会破坏骆驼套管的行为。骆驼字中的大写字母应该表示每个单词的开头,而不是遵循套管正常的英语套管规则。如果你大写一个完整的首字母缩略词,你会在首字母缩略词的结尾和下一个单词的开头之间失去清晰的分离。
只用一个资本打字(并且眼睛稍微好一些)也更容易。
我同意IO和大多数其他两个字母的缩写。即使考虑到上述情况,我通常也会将它们保留为大写。最后,它真的是关于什么更容易阅读。
答案 3 :(得分:1)
fudgeSql()可能比fudgeSQL()稍微容易一些,但后者有时在某些情况下似乎更正确。
有时候你会在一个类名或方法名中以一个首字母缩略词和另一个首字母缩写词相邻,这并不是那么好。不知何故,当我打字时,对单一资本来说也更容易一些。但是我不认为在所有情况下都有它会很好。当然是I / O - > IO,我不想看到Io(木星的月亮)作为类或方法名称的一部分。也许这是主观的事情之一,并取决于首字母缩略词本身。只要你一致......
有一件事,在Java中,使用getter和setter是上层框架,你的变量最终必须是:
private ACRO aCRO;
而不是更好
private ACRO acro;
因为生成的getter和setter(在Eclipse中,无论如何)
void setAcro(ACRO acro)
与命名约定不一致。
void setACRO(ACRO aCRO);
如果你明白我的意思。
答案 4 :(得分:1)
我的经验是,常规惯例是将大写视为单词分隔符,即useSql而不是UseSQL。正确的答案是使用任何使代码最清晰的约定,并始终如一地使用它。正如JeeBee指出的那样,这可能会受到工具假设的影响。