【问题标题】:Directory structure of an ASP based app/CMS基于 ASP 的应用程序/CMS 的目录结构
【发布时间】:2012-11-05 20:05:41
【问题描述】:

我正在对一个相当健壮的 ASP 应用程序和一个客户端的 CMS 进行小审核(比常规 CMS 做得好一点),然后开始研究代码。 (编辑:这是为了在与成熟的 ASP 商店合作之前快速概览。)

我的背景主要是 PHP、Node.js 和 Ruby,但是当我查看目录和文件的布局时,它看起来很糟糕。它让我想起了旧的 PHP 4 应用程序,文件到处都是。

我的问题是,这仍然是 ASP 中的良好编码实践吗?我希望通过像这样的自定义应用程序找到更清晰/更易于理解的结构。很像其他语言的 Rails/Zend/etc。这是来自 webroot 的一些文件的屏幕截图。

一个附带的问题是,有没有更好的方法在 ASP 中组织文件?我已经有 6-8 年没有使用 ASP 编码了,而且我使用它的次数还不是很多。

【问题讨论】:

    标签: asp.net coding-style standards


    【解决方案1】:

    这不是 ASP,而是 ASP.NET;我还注意到它是 WebForms,而不是 MVC,它的布局非常不同。

    反正目录结构乱七八糟,太可怕了。以下是它的问题:

    • 静态 HTML 文件和 ASP.NET 网络表单文件之间的混搭
    • 代码文件(例如contact.aspx.cs)在应用程序看起来被编译时存在于服务器上(因为它有一个bin 目录),所以它们根本不应该在那里。
    • 文件夹和文件名大小写不一致。有些都是小写,有些是 TitleCase。
    • 您似乎有重复的文件夹,“Images”和“img”有什么区别?
    • 到底什么是“缺失”和“布局”?
    • 重复、杂乱无章的文件index.htmlindex1.html 等。

    还有一些其他问题,但这些取决于开发人员的偏好:

    • 通常,项目只有一两个 MasterPage 文件,因此将它们放在根文件夹之外是没有意义的。我将*.master 文件直接放在应用程序的根目录中。
    • 与样式表相关的图像应该放在与样式表相同的目录中,而不是放在同级文件夹中(我假设“css”文件夹中样式表引用的图像实际上位于“img”中)。这很糟糕,因为它会使 CSS 文件复杂化(因为它在其中包含相对路径)并使您的应用程序更加脆弱。
    • Fonts 似乎包含字体文件,再次被您的样式表引用。它们都应该放在一个“样式”文件夹下。
    • 任何图像“内容”(即<img src="" /> 元素),而不是样式表中使用的图像,都应该与样式表图像分开,我假设这就是为什么你有令人困惑的“img”和“Images”文件夹。

    至于正确的做法,ASP.NET WebForms 并没有将自己导向整洁、组织良好的应用程序。因为每个(非重写)URI 直接对应于一个*.aspx 文件,这意味着文件系统布局必须与网站布局相匹配。除非您实现 ASP.NET 路由,否则恐怕您无能为力。

    我还建议删除所有 HTML 文件,并将它们转换为 ASPX 文件,以便在适当的时候充分利用 UserControls 和 MasterPages。

    【讨论】:

      猜你喜欢
      • 2011-01-20
      • 1970-01-01
      • 2012-03-23
      • 2015-07-08
      • 1970-01-01
      • 1970-01-01
      • 2014-11-13
      • 1970-01-01
      • 2016-01-21
      相关资源
      最近更新 更多