代码之家  ›  专栏  ›  技术社区  ›  Nobody

如何组织大型代码文件?

  •  7
  • Nobody  · 技术社区  · 15 年前

    我越来越意识到,我在任何单个文件中的代码通常都可以轻松地跨越数百行,尽管我知道实现可能很好,但它仍然感觉杂乱无章。

    我知道有些情况下需要大量的代码,但是最好的方法是什么?

    我考虑过把变量和方法分开, private 来自于 public S和 internals 但我不想这样做,因为我忍不住认为一个类的组件属于一个文件。

    当我处理WPF窗口后面的代码时,整个事情就变得复杂起来了,这个窗口似乎总是以指数级的速度增长,很快就变成一个巨大的混乱。

    另外:c有一个关键字,名为 partial ,这允许您在不影响功能的情况下,对任意数量的文件拆分类。然而,我注意到微软似乎只使用 部分 隐藏生成的代码(winforms/wpf),这让我怀疑仅仅因为类有很多行而拆分类是否合法 部分 -是吗?

    谢谢

    7 回复  |  直到 9 年前
        1
  •  13
  •   Tim Cooper    14 年前

    将您的代码划分为职责。对于每个职责,定义一个类型。也就是说,跟着 Single Responsibility Principal . 这样做将产生更小的代码单元,每个代码单元执行非常特定的功能。这不仅会导致更小的文件,而且会带来更好的设计和可维护性。

        2
  •  9
  •   Paul Ruane    15 年前

    如果您的文件很大,因为它们包含一个很大的类/结构,那么这通常(但不总是)意味着您的类正在处理多个问题,并且可以重构为多个更小、更专业的类。

        3
  •  5
  •   Hans Olsson    15 年前

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

    有时会使控件之间的通信变得更加困难,但这通常比由每个类中的代码更容易理解这一事实所弥补的要多。

        4
  •  2
  •   Brad    15 年前

    我倾向于将属性、构造函数、方法和辅助方法(私有方法)与区域一起分组。如果我有很多方法,我会根据它们的作用创建更多的区域(特别是对于重载很好)。说到重载,试着用可选参数最小化代码。

    据我所知,分部意味着类存在于两个单独的文件中。WebForms和控件是部分的,因为文件的另一个“部分”是与之配套的as[p_c]x文件。

        5
  •  1
  •   Madeleine    15 年前

    我的理论是,如果你不能在一个屏幕上看到一个完整的方法(即你必须滚动),你应该把这个方法分解成更多的方法——或者在同一个类中,或者当代码被多次使用到一个助手类中时。

        6
  •  0
  •   AJM    15 年前

    我们使用样式警察。它有一点帮助,因为它强制您的代码上的一个结构和应该出现在哪里的顺序。因此,您可以更直观地绕过较大的文件。

        7
  •  0
  •   BenKoshy Mayinx    9 年前

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