在课堂上正确组织公共/受保护/私人功能

Chr*_*ris 3 oop

Resharper(与StyleCop配对)在遵守大部分规则方面让我有点整洁.其中一个规则集(我相信来自StyleCop)强制首先放置公共函数,然后保护静态,然后保护,然后是私有静态,最后是私有.

私有函数通常是将公共函数的功能备份为帮助程序的函数.假设我有以下函数的StyleCop强制执行:

public FunctionA
public FunctionB

private FunctionAHelper1
private FunctionAHelper2
private FunctionBHelper1
private FunctionBHelper2
Run Code Online (Sandbox Code Playgroud)

...虽然这并不是那么糟糕,我发现自己希望保持支持私有方法接近调用它们的函数,所以看起来更像是这样:

public FunctionA
private FunctionAHelper1
private FunctionAHelper2

public FunctionB
private FunctionBHelper1
private FunctionBHelper2
Run Code Online (Sandbox Code Playgroud)

您学到了什么能够指导课堂中方法的组织?什么是StyleCop想要公共/受保护/私人订购的理由?它真的归结为偏好问题,还是我没有看到的好处?

Zyp*_*rax 6

它实际上取决于您喜欢什么,以及您希望如何导航代码.

您可以订购方法:

  • 按字母顺序(GetEntityA,GetEntityB,StoreEntityA,...)
  • 按功能区(EntityA方法,EntityB方法,......)
  • 按分类(验证方法,转换方法,帮助方法......)
  • 通过可见性(公共方法,内部方法,受保护方法,......)

当然,您可以按字母顺序结合可见性或任何您喜欢的内容.我更喜欢按字母顺序和可见性的组合以及具有分类的大类.对于DAO类有时功能区).