我和我的同事一直在争论Pascal套管(上骆驼套管)与较低的CamelCasing.它们用于降低骆驼外壳,从SQL数据库中的表名到C#代码中的属性命名,但我更喜欢Pascal外壳,更低的驼峰外壳用于变量和Pascal外壳用于属性:
string firstName; public string FirstName { ... }
但是他们习惯了这个:
string _firstname; public string firstName { ... }
我试着跟上他们的"标准",所以代码看起来一样,但我不喜欢它.
我已经看到至少.NET框架使用这个约定,这就是我试图保留我的代码的方式,例如:
System.Console.WriteLine("string")
你用什么/喜欢什么?为什么?我很抱歉,如果有人问过这个问题,但我搜查了一下,没有找到任何东西.
更新: 我给出了一个方法示例而不是属性,但它是相同的.正如我在第一段中所述,我的同事们使用Pascal约定(变量,方法,表名等)
官方设计指南的链接可能会有所帮助.具体来说,请阅读有关大写样式的部分.
在宏大的计划中,Pascal与Camel并不重要,你不可能说服任何人只是为了改变名字的情况而回到现有的代码库.真正重要的是,您希望在给定的代码库中保持一致.
只要你不使用匈牙利语,我就很开心.
我使用框架使用的内容,因为它是事实上的最佳实践.但是,只要您公司的代码始终如一地使用他们的风格,那么您最好习惯它.如果每个开发人员都有自己的标准,那么根本就没有标准.
您应该查看Microsoft的新工具StyleCop来检查C#源代码.还要关注FxCop以检查已编译的.Net程序集.FxCop更多地关注代码所做的细节,而不是布局,但它确实有一些与公开可见名称相关的命名规则.
StyleCop定义了一种编码标准,现在由Microsoft作为行业标准推广.它根据标准检查C#源代码.StyleCop符合您的PascalCase风格.
让人们加入StyleCop(或任何其他标准)可能很难,这是一个很大的障碍,而StyleCop非常详尽.但是代码应该是一个统一的标准 - 个人标准总比没有好,公司标准优于个人标准,行业标准最好.
在项目开始时说服人们要容易得多 - 团队正在形成,并且没有现有的代码可以转换.如果代码不符合标准,你可以放置工具(FxCop,StyleCop)来破坏构建.
您应该使用语言和框架的标准 - SQL代码应该使用SQL标准,C#代码应该使用C#标准.
对于公共接口,您应该遵循MS .NET框架设计准则:" 资本化约定 ".
对于非暴露成员,那么您和您的同事可以达成一致意见.