组织项目中文件的最佳方法

时间:2009-06-15 16:49:08

标签: asp.net silverlight code-organization project-organization

组织项目中文件的最佳方法是什么?

例如,您是将所有用户控件放在单独的文件夹中还是将它们放在子文件夹中?你有业务逻辑文件夹吗?帮助程序类文件夹?

我曾经像这样组织我的项目:

项目/用户控制/模块名称/ 项目/类/模块名称/

现在我正在学习更多这样的事情: 项目/模块名称/用户控制/ 项目/模块名称/类/

最好的方法是什么?特别是如果项目真的很大?应该存在什么类型的文件夹结构?

3 个答案:

答案 0 :(得分:2)

首先,文件夹分离的目的是提供更多级别的文档,让程序员更容易找到代码。这意味着你不应该有额外的级别“只是为了组织东西”。这不包括名为Classes,Controls等的文件夹

一些例子:

如果你在一个应用程序层上工作,那么拥有类似的东西会很有意义:

Project \ Tier(Model | Controller | etc)\ Classname

如果你的程序很大,我可以选择单独的功能区域:

Project \ Functional Area \ Tier(Model | Controller | etc)\ Classname

当子团队在不同的职能领域工作时,这尤其有用。

还要避免使用非常深的文件夹树(恕我直言,超过深度4太多)并保持文件夹名称紧凑。有些工具可能会限制路径大小低至255个字符,因此这是一个简洁的地方。

答案 1 :(得分:0)

我将我们的主要部分分成了项目 - 使其易于重用。

在项目中,我按功能区域执行文件夹(和名称)。

就我的通用基础而言 - 项目的需求决定了任何进一步的分区。

答案 2 :(得分:0)

我同意其他答案建议按目的命名文件夹而不是类型(即调用文件夹Model,而不是Classes,并且只包含该文件夹中面向数据的类)。另外,我喜欢将所有与控件和数据/模型相关的类保留在不允许彼此引用的独立项目中。这可以帮助您在代码中强制实现视图和模型之间的分离,这通常是一件好事。