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