如何组织源代码文件?按功能还是输入?

Jas*_*ung 4 language-agnostic

在我早期的编码时代,我倾向于将以类似方式运作的类分组.例如:

  • 数据传输对象
    • 对象A.
    • 对象B.
  • 对话框
    • 对话A
    • 对话B

过了一会儿,它开始让我感到沮丧的是,当我在应用程序的某个特定部分工作时,我必须四处跳转才能把它拼凑起来.

在过去的几年里,我倾向于按功能组织事物.通常共享的类,例如数据库对象,我仍然保持在一起.我认为这对于像网站这样的东西更有意义:

  • 页面A.
    • 图片
    • 资源1
    • 对话1
  • 第B页
    • 图片
    • 资源2
    • 对话2

这是最好的方法吗?有没有人有一个很好的经验法则可以遵循?

S.L*_*ott 8

对于Java,包是重用的单位.

对于Python,模块(以及包)是重用的单位.

包装应该是一个独立的东西.

如果将所有数据传输对象放入一个大包中,则没有可重用的东西.您可能不希望所有这些数据传输对象定义.

如果您通过"实体"(模型,视图,控件,数据访问等)将事物放在一起,那么您就拥有了可以在其他应用程序中共享的可重用模块.