我尝试在我的命名中语法正确*。我一直使用filename
而不是fileName
. java 约定似乎也使用了这个,但 FxCop 更喜欢fileName
.
维基百科上有一个关于它的讨论。我读的越多,我就越觉得我是对的(这很常见!:))。有没有人有明确的答案,或者这仅仅是主观的东西?
* 我只希望这篇文章没有语法错误!
我尝试在我的命名中语法正确*。我一直使用filename
而不是fileName
. java 约定似乎也使用了这个,但 FxCop 更喜欢fileName
.
维基百科上有一个关于它的讨论。我读的越多,我就越觉得我是对的(这很常见!:))。有没有人有明确的答案,或者这仅仅是主观的东西?
* 我只希望这篇文章没有语法错误!
字段和参数建议使用小写驼峰式。
示例 1:
fileName // for fields, parameters, etc.
FileName // for properties, class names, etc.
通常,fileName
使用而不是filename
;您可以通过阅读 Microsoft 创建的开源内容的源代码来验证这一点,例如Enterprise Library。
原因:
示例 2:
fileName, fileSize... // instead of filename AND filesize
另见:
有关完整的命名约定规则,我建议查看这本书:
'filename'
假设这个词描述了一个像“cow”或“chair”这样的单一对象,
'fileName'
假设这是一个复杂的对象,有一个名为文件的对象,并且这个对象描述了该文件的名称。
两种哲学方法,任你选择。
可以用英文写“文件名”或“文件名”。当您将其转换为编码时,大写“n”或不大写“n”可以采用任何一种方式(假设 camelCase 或 PascalCase)。
顺便说一句,你确实在问题中犯了一个语法错误——具有讽刺意味的是,在你表达你希望没有语法错误的句子中。你说,“我只希望这篇文章没有语法错误!” 但是“errors”是复数形式,因此“there's”的“is”代表主谓不一致。
* 我只希望这篇文章没有语法错误!
就我而言,
thisIsMuchMoreReadable
比readingthis
。
我认为这里的答案涉及两个问题。
'FileName' vs 'Filename' ('name' 应该是一个单独的词)
和
'fileName' vs 'FileName'(第一个字符应该小写)。
在大多数情况下,我更愿意将这个词视为一个完整的词“文件名”。我也更喜欢以小写字母开头的变量/方法,以便于代码完成菜单导航。
我想骆驼大小写的问题也在这里,我认为应该用它来区分多词名称。
FxCop 是一个自动化工具这不是显而易见的答案吗?它认识到“name”是一个单词,因此建议以大写 N 开头。我们碰巧知道“filename”也是一个单词,因此只有第一个 F 应该大写。
这里没有真正的对与错。
这纯粹是主观的,并且与您所在的社区完全相关。如果您经常遇到的 FxCop 和 StyleCop 以及 .net 代码使用的是 fileName,那么请使用 fileName。如果它正在使用其他东西,那么就使用它。
您的首要任务可能应该是与您自己的代码中的模式保持一致,然后与您的社区保持一致。
在这种特殊情况下,.net Reflector 使用 fileName 显示了很多 .net 代码,所以我会亲自使用该模式。
如果您在 Java 世界中运行 PMD 和 checkstyle 并且他们的 api 经常使用文件名,那么我会选择这样做。
除了维基百科的命名文章,还有Kernighan 和 Pike的 The Practice of Programming。它的第一章涉及很多命名和代码一致性问题。
文件名 ~ 给以电子方式存储的计算机文件的识别名称,符合操作系统施加的限制,如长度或字符的限制选择。
在过去,这被认为是两个词,但现在被定义为一个词,所以
var 文件名 = ......
如果是两个词
var 文件名 = ....
如果您正在编写 c/c++,则很容易使用人们可以实际阅读的名称;ie filename 很好,yet_another_file_name 也很好(假设您没有将 filename 视为正确的英文单词 - 我通常会这样做)。