0

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

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

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

目录布局截图

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

4

1 回答 1

2

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

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

  • 静态 HTML 文件和 ASP.NET webforms 文件之间的混搭
  • 当应用程序看起来被编译时(因为它有一个目录),代码文件(例如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。

于 2012-11-05T20:21:18.207 回答