【发布时间】:2011-07-10 03:57:26
【问题描述】:
我熟悉使用圈复杂度来衡量软件。但是,在网站方面,我们是否有一种衡量网站复杂性的指标?
【问题讨论】:
-
+1,这是一个很好的,很少被问到的问题。
标签: code-metrics website-metrics
我熟悉使用圈复杂度来衡量软件。但是,在网站方面,我们是否有一种衡量网站复杂性的指标?
【问题讨论】:
标签: code-metrics website-metrics
我想您可以将“中心分数”视为一个复杂性指标,因为它考虑了引用了多少外部站点。 Jon Kleinberg 的“超链接环境中的权威来源”对此进行了讨论。
【讨论】:
如果您将 显示的 HTML 页面中的 HTML 标记计算为“运算符”,则可以计算每个网页的 Halstead 数。
如果您检查生成网页的源代码,您可以计算这些网页的复杂性度量(Halstead、McCabe、SLOC、...)。为此,您需要能够从网页源计算此类指标的工具。
我们的SD Source Code Search Engine (SCSE) 通常用于搜索大型代码库(例如网站代码),即使代码库是混合语言(HTML、PHP、ASP.net 等)。作为副作用,SCSE 恰好为它可以搜索(已编入索引)的每个文件计算 Halstead、McCabe、SLOC、评论计数和各种其他基本测量值。
这些指标导出为 XML 文件;有关示例,请参见上面的 Web 链接。
这将使您能够粗略但直接地计算网站复杂性指标。
【讨论】:
虽然这个问题是在 6 个月前提出的......
如果您的网站是完全没有 javascript 的 100% 静态网站,那么它需要由使用编程语言编程的后端提供支持。所以间接地,影响后端编程的复杂性措施也会影响网站维护的复杂性。
典型地,我观察到网页本身的可维护性和质量(或缺乏)与后端编程中通过软件指标表现出的质量(或缺乏)之间存在关联。不要引用我的话,并采取一粒盐。这纯粹是我在我参与的演出中所做的观察。
如果您的网站(无论是否动态内容)也包含 JavaScript,那么这也是在软件复杂性指标方面展示可衡量属性的源代码。由于 JavaScript 通常用于呈现 HTML 内容,因此有可能(但不确定)糟糕、难以维护的 JavaScript 将呈现同样糟糕、难以维护的 HTML(或嵌入到糟糕、难以维护的标记中) .)
对于一个完全静态的网站,您仍然可以设计某种类型的指标,尽管我不知道有任何已发布的指标。
不管怎样,一个好的网站应该有统一的链接。
它应该提供统一的导航。
此外,不应复制或复制 html 页面,几乎没有死链接。
站点内的链接应该是相对的(相对于它们的当前位置或逻辑根“/”),而不是绝对的。也就是说,不要对域名进行硬编码。
URI 命名模式应该是统一的(最好是小写)。URL 不区分大小写,因此混合两种大小写的链接绝对没有意义。此外,链接可能会映射到可能区分大小写的实际文件系统中的内容,这会导致下一个。
表示短语的 URI 应该是统一的(使用 - 或 _ 来分隔单词,但不能同时使用,当然也不能使用空格)。避免使用驼峰式大小写(参见前面关于小写的评论。)
我不知道有任何已发布或提倡的类似软件的网站指标,但我想如果有的话,他们可能会尝试衡量我上面提到的一些属性。
【讨论】:
This is a great paper 讨论主题。
【讨论】: