我熟悉使用圈复杂度来测量软件。但是,就网站而言,我们是否有一种衡量网站复杂性的指标?
答案 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)