cho*_*bo2 2 .net c# naming-conventions
在我读过的一本书中,他们使用大写字母表示公共方法和财产.我知道还有一些其他约定,比如你在私有变量前加上"_".对我来说,我不喜欢这种方式,并且喜欢这种方式更好,但只是想知道方法中的东西.
所以
public void MyMethod()
{
}
public string MyProperty {get; set;
}
Run Code Online (Sandbox Code Playgroud)
并为私人
private void myMethod()
{
}
Run Code Online (Sandbox Code Playgroud)
但是方法怎么样?
喜欢
public void MyMethod()
{
string MyVariable = null;
// or
string myVairable = null;
}
Run Code Online (Sandbox Code Playgroud)
如果你有一个类似的全局变量怎么样
public class Test
{
private string bob;
public Test()
{
bob = null;
}
}
Run Code Online (Sandbox Code Playgroud)
它应该是小写的(因为它是私有的)?另外在侧面说明它会更好地使它成为一个属性,而不是公共财产只是让它私有.
以下是您的代码示例,如果它们遵循官方Microsoft代码样式指南(由StyleCop和FxCop强制执行)
public void MyMethod()
{
}
public string MyProperty { get; set; }
private void MyMethod()
{
}
public void MyMethod()
{
string myVariable = null;
}
public class Test
{
private string bob;
public Test()
{
this.bob = null;
}
}
Run Code Online (Sandbox Code Playgroud)
规范中的一些亮点:所有字段都应该是private小写(除非它们是常量).无论访问权限如何,所有方法都应该是大写的.如果您想公开一个字段(即使其成为public或protected),请使用一个属性(如果它受保护或公开,则应该大写).如果你有属性的自动getters和setters(即just get;和set;),它们可以在一行上,否则在单独的行上(如果有更多的代码).始终命名以小写az开头的字段,而不是下划线.大括号应该换行.始终引用非静态成员(即属性,方法,字段),this.以区别于变量并避免歧义.
有一个巨大的列表,但这些与您的示例最相关.看看code.msdn.microsoft.com/sourceanalysis
你在问题中称之为"全球"的事实上是一个"领域".这些应该永远不会暴露(正如我上面所说的那样),因为你实际上暴露了你的实现,你的行为是应该在接口上暴露给类型的.属性允许您指定一个界面,即使它们现在已经实现为自动属性,您也可以在不更改界面的情况下更改getters和setters.
| 归档时间: |
|
| 查看次数: |
400 次 |
| 最近记录: |