参数命名:filename或fileName?
我尝试在我的命名*中语法正确。 我一直使用filename
而不是fileName
。 Java惯例也似乎使用这个,但FxCop更喜欢fileName
。
有关WikiPedia的讨论 。 我越读越多,我觉得我是对的(这是很平常!:))。 有没有人有一个明确的答案,或者这只是一个主观的东西?
*我只希望在这篇文章中没有语法错误!
推荐使用较低的骆驼情况下的字段和参数。
例1 :
fileName // for fields, parameters, etc. FileName // for properties, class names, etc.
通常使用fileName
而不是filename
; 您可以通过阅读由Microsoft创build的开放源代码源代码(如Enterprise Library)来validation 。
理由 :
- 这个背后的主要观点是,在这种情况下名字更具可读性。
- 这个方法在几个参数(字段,variables..)被用在同一个方法(class ..)和相同的前缀“file”时增加了一致性 ,如下所示:
- 还有其他一些原因,但是他们更主观。
例2 :
fileName, fileSize... // instead of filename AND filesize
另见 :
- 命名约定在维基百科
- 一般命名约定在MSDN
对于一套完整的命名约定规则,我build议阅读本书:
- 框架devise指南:可重用.NET库的约定,习惯和模式
(2nd Edition),由Krzysztof于2008年11月出版
(个人而言,我们并不使用本书的100%推荐,但是总的来说,有很好的指导方针)
并且在IDesign.net上检查一些东西
'filename'
假设这个单词描述了一个单独的对象,如“牛”或“椅子”
'fileName'
假定这是一个复杂的对象,有一个叫做文件的对象,而这个对象描述了这个文件的名字。
两种哲学的方法,请select。
就我而言,
这比阅读这本书更可读。
我认为这里的答案涉及两个问题。
-
'文件名'与'文件名'(应'名称'是一个单独的词)
和
-
'文件名'与'文件名'(应该首字符小写)。
在大多数情况下,我宁愿把这个单词当作一个单一的“文件名”来处理。 我还喜欢用小写字母开头的variables/方法,以便更容易的完成代码菜单导航。
我想骆驼的问题也在这里,我认为应该用来区分多个词的名称。
FxCop是不是一个明显的答案是一个自动化的工具? 它认识到“名字”是一个词,所以它build议用大写字母N开头。我们知道“文件名”也是一个词,所以只有第一个F应该大写。
文件名〜给予电子存储的计算机文件的识别名称,符合操作系统规定的限制,如字符的长度或限制select。
在过去这被认为是两个字,但现在被定义为一个字如此
var filename = ……
如果是两个字的话
var fileName = ….
这里不可能有真正的对与错。
这是纯粹的主观的东西,完全与您所在的社区有关。如果FxCop和StyleCop以及您经常遇到的.net代码使用fileName,则使用fileName。 如果它正在使用其他的东西,那么就使用任何东西。
您的首要任务应该是与自己的代码中的模式保持一致,然后与您的社区保持一致。
在这种特殊情况下,.net Reflector使用fileName显示了很多.net代码,所以我会亲自使用该模式。
如果你在java世界,运行PMD和checkstyle,并且他们的apis经常使用文件名,那么我会去。
除了维基百科的命名文章,还有Kernighan和派克的编程实践 。 它的第一章涉及了很多命名和代码一致性问题。
如果您正在编写c / c ++,那么使用人们可以真正阅读的名称是一种强烈的倾向; 即文件名是好的,所以是yet_another_file_name(假设你不考虑文件名作为一个适当的英文单词 – 我通常这样做)。
看谷歌编码标准