在我读的一本书中,他们使用大写字母表示公共方法和属性。我知道还有其他一些约定,例如您将“ _”放在私有变量前面。对我而言,我不喜欢这种方式,并且更喜欢这种方式,但是只是想知道方法中的内容。
所以
public void MyMethod()
{
}
public string MyProperty {get; set;
}
和私人的
private void myMethod()
{
}
但是该方法怎么样?
喜欢
public void MyMethod()
{
string MyVariable = null;
// or
string myVairable = null;
}
如果您有某种全局变量,例如
public class Test
{
private string bob;
public Test()
{
bob = null;
}
}
所以应该小写(因为它是私有的)?另外,最好将其设置为财产,而不是将其设置为私有,而不是公共财产。
最佳答案
如果遵循官方的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;
}
}
规范中的一些要点:所有字段均应为
private
且小写(除非它们是常数)。无论使用哪种方法,所有方法均应大写。如果要公开一个字段(即将其设置为public
或protected
),请使用属性(在受保护或公共的情况下应大写)。如果您具有属性的自动get
ters和set
ters(即仅get;
和set;
),它们可以在一行上,否则可以在单独的行上(如果有更多代码)。请始终以小写字母a-z开头的字段命名,而不是下划线。大括号应换行。始终使用this.
引用非静态成员(即属性,方法,字段),以将其与变量区分开并避免歧义。列表很大,但是这些与您的示例最相关。看code.msdn.microsoft.com/sourceanalysis
问题中所谓的“全球”实际上就是“领域”。这些绝对不应该公开(如上所述),因为您实际上是在公开实现,而实际上,您的行为就是您应该在接口上公开的类型。属性允许您指定接口,即使现在已将其实现为自动属性,也可以稍后更改
get
ters和set
ters,而无需更改接口。