在班级中安排变量和方法的最佳方式是什么?

问题描述:

我通常安排我的变量和方法是这样的:在班级中安排变量和方法的最佳方式是什么?

class MyClass { 
    // public variables 
    // public methods 
    // private methods 
    // private variables 
} 

我想知道什么是定义在可读性方面的函数和变量最好的安排?

编辑:那么类内的枚举和类定义呢?

像这样:

class MyClass { 
    // private fields 
    // public methods 
    // private methods 
} 

你不应该有任何公共领域。改用属性。

StyleCop有一个set of rules on suggested code order。见SA1201

在类,结构或接口,元件必须定位在以下顺序:

  • 字段
  • 构造
  • 终结(析构函数)
  • 代表团
  • 活动
  • 枚举
  • 接口
  • 属性
  • 索引器
  • 方法
  • 的Structs

SA1202

为了符合该规则,相同类型的相邻元件必须由访问级别被定位在以下顺序:

  • 公共
  • 内部
  • 保护内部
  • 保护
  • private

如果您使用StyleCop,它会在您违反这些规则时发出警告。

+0

为什么私人领域高于公共方法?我一直认为,当有人看着一个阶级定义时,他们会对公共方法更感兴趣,而不是私人领域。让顶部的私有字段意味着读者将不得不忽略代码的一部分,并向下滚动以查看他们感兴趣的内容。 – priomsrb 2010-12-21 03:54:31

+1

只对公共接口感兴趣的人可以阅读类文档。任何需要查看源代码的人都对实现感兴趣。另外,有些工具会自动在课程的最后添加新的方法。如果你把私人领域放在底部,他们可以进入中间。 – 2010-12-21 16:15:08