在班级中安排变量和方法的最佳方式是什么?
问题描述:
我通常安排我的变量和方法是这样的:在班级中安排变量和方法的最佳方式是什么?
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,它会在您违反这些规则时发出警告。
为什么私人领域高于公共方法?我一直认为,当有人看着一个阶级定义时,他们会对公共方法更感兴趣,而不是私人领域。让顶部的私有字段意味着读者将不得不忽略代码的一部分,并向下滚动以查看他们感兴趣的内容。 – priomsrb 2010-12-21 03:54:31
只对公共接口感兴趣的人可以阅读类文档。任何需要查看源代码的人都对实现感兴趣。另外,有些工具会自动在课程的最后添加新的方法。如果你把私人领域放在底部,他们可以进入中间。 – 2010-12-21 16:15:08