0

私はクライアント用のかなり堅牢なASPアプリとCMSの小規模な監査を行っており(通常のCMSよりもかなり多くのことを行います)、コードの調査を開始しました。(編集:これは、本格的なASPショップに参加する前の簡単な概要です。)

私は主にPHP、Node.js、Rubyのバックグラウンドを持っていますが、ディレクトリとファイルのレイアウトを見るとひどいように見えます。いたるところにファイルがある古いPHP4アプリを思い出します。

私の質問は、これはASPでのコーディングの実践としてはまだ良いのでしょうか?私は、このようなよりカスタムなアプリを使用して、構造をよりクリーンで理解しやすいものにすることを期待していました。他の言語のRails/Zendなどとよく似ています。これは、webrootからのいくつかのファイルのスクリーンショットです。

ディレクトリレイアウトのスクリーンショット

副次的な質問は、ASPでファイルを整理するためのより良い方法はありますか?私は6〜8年間ASPでコーディングしていませんが、それでもあまり使用していませんでした。

4

1 に答える 1

2

これはASPではなく、ASP.NETです。また、レイアウトが大きく異なるMVCではなくWebFormsであることにも注意してください。

とにかく、ディレクトリ構造はめちゃくちゃです、それはひどいです。何が問題なのですか。

  • 静的なHTMLファイルとASP.NETWebフォームファイルの間の不潔なミッシュマッシュ
  • コードファイル(例contact.aspx.cs)は、アプリケーションがコンパイルされているように見えるときにサーバー上に存在するため(binディレクトリがあるため)、サーバー上に存在するべきではありません。
  • フォルダとファイル名の大文字と小文字に一貫性はありません。すべて小文字のものもあれば、TitleCaseのものもあります。
  • フォルダが重複しているようですが、「画像」と「img」の違いは何ですか?
  • いったい何のために「欠けている」と「レイアウト」があるのでしょうか?
  • 重複した、まとまりのないファイルindex.htmlなどindex1.html

次に、他にもいくつかの懸念事項がありますが、それらは開発者の好みによるものです。

  • 通常、プロジェクトには1つまたは2つのMasterPageファイルしかないため、ルートフォルダーの外にあることは意味がありません。*.masterファイルをアプリケーションのルートに直接配置します。
  • スタイルシートに関連する画像は、兄弟フォルダーではなく、スタイルシートと同じディレクトリに配置する必要があります(「css」フォルダー内のスタイルシートによって参照される画像は、実際には「img」にあると想定しています)。これは、CSSファイルを複雑にし(内部に相対パスがあるため)、アプリケーションをより脆弱にするため、悪いことです。
  • Fonts繰り返しになりますが、スタイルシートによって参照されるフォントファイルが含まれているようです。それらはすべて、単一の「スタイル」フォルダーの下に配置する必要があります。
  • スタイルシートで使用される画像ではなく、画像の「コンテンツ」(つまり<img src="" />要素)は、スタイルシートの画像とは別に保持する必要があります。これが、混乱を招く「img」フォルダと「Images」フォルダがある理由だと思います。

それを行う正しい方法に関しては、ASP.NET WebFormsは、きちんと整理されたアプリケーションにつながりません。各(書き換えられていない)URIはファイルに直接対応するため、*.aspxファイルシステムのレイアウトがWebサイトのレイアウトと一致する必要があることを意味します。ASP.NETルーティングを実装しない限り、それについてできることはあまりありません。

また、すべてのHTMLファイルを削除し、必要に応じてUserControlsとMasterPagesを最大限に活用するASPXファイルに変換することをお勧めします。

于 2012-11-05T20:21:18.207 に答える