我们可以衡量网站的复杂性吗?

时间:2011-03-07 07:08:37

标签: code-metrics website-metrics

我熟悉使用圈复杂度来测量软件。但是,就网站而言,我们是否有一种衡量网站复杂性的指标?

4 个答案:

答案 0 :(得分:3)

如果计算显示的 HTML页面中的HTML标记,作为“操作员”,则可以计算每个网页的Halstead数。

如果您检查生成网页的源代码,您可以计算复杂度量(Halstead,McCabe,SLOC,......)。为此,您需要可以从网页源计算此类指标的工具。

我们的SD Source Code Search Engine (SCSE)通常用于搜索大型代码库(例如网站代码),即使代码库是混合语言(HTML,PHP,ASP.net,...)的集合。作为一个副作用,SCSE恰好计算了Halstead,McCabe,SLOC,评论计数以及各种其他基本测量值,对于它可以搜索的每个文件(已编入索引)。 这些指标将导出为XML文件;请参阅上面的Web链接以获取示例。 这将为您提供粗略但直接的计算网站复杂性指标的能力。

答案 1 :(得分:2)

虽然问题是在6个月之前被问到的......

如果您的网站是100%静态网站,根本没有javascript,那么它需要由编程语言编写的后端提供支持。间接地,影响后端编程的复杂性度量也会影响维护站点的复杂性。

典型的,我观察到网页本身的可维护性和质量(或缺乏)与后端编程中通过软件指标展示的质量(或缺乏)之间的关系。不要引用我的话,并带上一粒盐。这纯粹是我在我参与过的演出中所做的一次观察。

如果您的网站 - 动态内容与否 - 也包含JavaScript,那么这也是在软件复杂度指标方面展示可衡量属性的源代码。而且由于JavaScript通常用于呈现HTML内容,因此可能(但不是确定)可能(但不是很确定),残酷,难以维护的JavaScript将呈现类似的残酷,难以维护的HTML(或嵌入在残酷,难以维护的标记中。)

对于一个完全静态的网站,您仍然可以设计某种类型的指标,但我不知道任何已发布的指标。

无论如何,一个好的网站应该有统一的链接。

它应该提供统一的导航。

此外,不应复制或复制html页面,几乎没有死链接。

网站内的链接应该是相对的(无论是当前位置还是逻辑根“/”),而不是绝对的。也就是说,不要对域名进行硬编码。

URI命名模式应该是统一的(最好是小写。)URL不区分大小写,因此将两种情况混合在一起的链接绝对没有意义。此外,链接可能映射到可能区分大小写的实际文件系统中的内容,这导致下一个。

表示短语的URI应该是统一的(使用 - 或_来分隔单词,但不是两者,当然也不是空格)。避免使用驼峰(见前面关于下壳的评论。)

我不知道任何已发布或提倡的类似软件的网站指标,但我想如果有,他们可能会尝试测量我上面提到的一些属性。

答案 2 :(得分:0)

我认为您可以将“集线器分数”视为复杂度指标,因为它会考虑引用了多少外部网站。 Jon Kleinberg撰写的“超链接环境中的权威来源”对此进行了讨论。

答案 3 :(得分:0)

关于该主题的

This is a great paper