私は、循環的複雑度を使用してソフトウェアを測定することに精通しています。しかし、Webサイトに関しては、Webサイトの複雑さを測定するための一種のメトリックがありますか?
4 に答える
表示された HTML ページの HTML タグを「演算子」としてカウントすると、各 Web ページの Halstead 数を計算できます。
Web ページを生成するソース コードを調べると、それらの複雑さの尺度 (Halstead、McCabe、SLOC など) を計算できます。そのためには、Web ページのソースからそのようなメトリックを計算できるツールが必要です。
当社のSD ソース コード検索エンジン (SCSE)は通常、コード ベースが混合言語 (HTML、PHP、ASP.net など) のセットであっても、大規模なコード ベース (Web サイト コードなど) を検索するために使用されます。副作用として、SCSE はたまたま、検索可能な (インデックスが作成された) ファイルごとに、Halstead、McCabe、SLOC、コメント数、およびその他のさまざまな基本的な測定値を計算します。
これらのメトリックは XML ファイルとしてエクスポートされます。例については、上記の Web リンクを参照してください。これにより、Web サイトの複雑さのメトリックを計算する大まかな、しかし即時の機能が得られます。
質問は6か月前に行われましたが...
Web サイトが JavaScript をまったく使用しない 100% 静的なサイトである場合、プログラミング言語でプログラムされたバックエンドを利用する必要があります。したがって、間接的に、バックエンド プログラミングに影響を与える複雑さの測定は、サイトの維持の複雑さにも影響を与えます。
通常、Web ページ自体の保守性と品質 (またはその欠如) と、バックエンド プログラミングでソフトウェア メトリックを通じて示される品質 (またはその欠如) との間の相関関係を観察しました。それについて私を引用しないでください、そしてそれを一粒の塩で受け取ってください. これは純粋に、私がこれまで取り組んできたギグで私が行った観察です。
あなたのサイト (動的コンテンツであろうとなかろうと) に JavaScript も含まれている場合、これはソフトウェアの複雑さの指標に関して測定可能な属性を示すソース コードでもあります。また、JavaScript は通常 HTML コンテンツのレンダリングに使用されるため、悪質で保守が困難な JavaScript が、同様に悪質で保守が困難な HTML をレンダリングする (または、悪質で保守が困難なマークアップに埋め込まれている) 可能性があります (確実ではありません)。 .)
完全に静的なサイトの場合、公開されているものは知りませんが、何らかのタイプのメトリックを考案することはできます.
いずれにせよ、優れた Web サイトには統一されたリンクが必要です。
統一されたナビゲーションを提供する必要があります。
また、HTML ページを複製したり複製したりしないでください。無効なリンクはほとんどまたはまったくありません。
サイト内のリンクは、相対 (現在の場所または論理ルート '/' のいずれか) であり、絶対的ではありません。つまり、ドメイン名をハードコーディングしないでください。
URI の命名パターンは統一する必要があります (小文字が望ましい)。URL では大文字と小文字が区別されないため、両方の大文字と小文字が混在するリンクを使用してもまったく意味がありません。さらに、リンクは、大文字と小文字を区別する可能性のある実際のファイルシステム内のものにマッピングされている可能性があり、これが次の原因になります。
フレーズを表す URI は統一されている必要があります (単語を区切るために - または _ のいずれかを使用しますが、両方を使用することはできません。また、スペースは使用しないでください)。キャメルケースは避けてください (小文字については以前のコメントを参照してください)。
私は、Web サイトのソフトウェアに似た測定基準が公開されている、または提唱されていることを知りませんが、もしあれば、上記の属性のいくつかを測定しようとするのではないかと思います。
「ハブスコア」は、参照されている外部サイトの数を考慮しているため、複雑さの指標と見なすことができると思います。Jon Kleinberg による「ハイパーリンク環境での信頼できる情報源」でそれについて説明しています。