如何组织大型代码文件?

我越来越意识到我的代码在任何单个文件中都可以很容易地跨越数百行,虽然我知道实现可能是合理的,但它仍然感觉凌乱和无组织。

我知道有些情况下需要很多代码,但最好的方法是组织它们吗?

我已经考虑过将变量与方法, private s从publicinternals分开,但我不想这样,因为我不禁想到ONE类的组件属于一个文件。

当我使用WPF窗口的代码隐藏时,整个事情变得更加复杂,这个窗口似乎总是以指数速率迅速成长为一个巨大的混乱。

另外:C#有一个名为partial的关键字,它允许您在不影响function的情况下将类拆分为任意数量的文件。 但是,我注意到Microsoft似乎只使用partial来隐藏生成的代码(Winforms / WPF。)这让我质疑是否因为它有多行来分割一个类是合法使用的partial – 是吗?

谢谢

将您的代码分成几个职责。 对于每个职责,定义单一类型。 也就是说,遵循单一责任委托人 。 这样做会产生较小的代码单元,每个代码单元执行一个非常特定的function。 这不仅会导致文件更小,而且会带来更好的设计和可维护性。

如果你的文件很大,因为它们包含一个很大的单个类/结构,那么这通常(但不总是)暗示你的类处理多个问题,并且可以重构为许多更小,更专业的类。

如果我理解你,你的主要问题是你的表单最终会变得太大,导致那些包含太多代码的表单的类,如果你的表单不是很简单,这是很正常的。 尝试最小化这种方法的方法是使用用户控件,因为如果将控件移动到其他类,则还将代码移到其他类。

它有时会使控件之间的通信变得更加困难,但这通常是因为每个类中的代码更容易理解。

我倾向于将属性,构造函数,方法和辅助方法(私有方法)与区域组合在一起。 如果我有很多方法,我会根据他们的工作创建更多区域(特别适合过载)。 说到重载,请尝试使用可选参数最小化代码。

据我所知,partial意味着该类存在于两个单独的文件中。 Webforms和控件是部分的,因为文件的另一个“部分”是与它一起的as [p | c] x文件。

我继续理论,如果你不能在一个屏幕上看到整个方法(即你必须滚动),你应该将方法分解为更多方法 – 在同一个类中或者代码将被多次使用时助手class。

我们使用stylecop。 它有点帮助,因为它强制执行代码上的结构以及应该出现在哪里的顺序。 因此,您可以更直观地找到更大文件的方法。

要提高代码可读性:可以使用区域块: https : //msdn.microsoft.com/en-us/library/9a1ybwek.aspx 。 至于改进代码的结构和设计 – 请参考一些专业书籍。