我熟悉使用cyclomatic複雜度來衡量軟件。但是,就網站而言,我們是否有一種衡量網站複雜性的指標?我們可以衡量網站的複雜性嗎?
回答
我想你可以認爲「hub分數」是一個複雜性度量,因爲它考慮了多少個外部站點被引用。 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個飛蛾前...
如果你的網站是100%的靜態網站沒有的JavaScript的話,那麼就需要通過後端的編程語言編程供電。間接地,影響後端編程的複雜性措施也會影響維護站點的複雜性。
Typicall,我已經觀察到網頁自身的可維護性和質量(或缺乏)與通過後端編程中的軟件度量顯示的質量(或缺乏)之間的關係。請不要在此引用我的話,並帶上一粒鹽。這完全是我在製作過的演出中製作的的觀察結果。
如果您的站點(不論是否爲動態內容)中也包含JavaScript,那麼這也是源代碼,可以根據軟件複雜性度量標準顯示可度量的屬性。而且,由於JavaScript通常用於呈現HTML內容,因此它很可能(但不是確定性)那些殘酷,難以維護的JavaScript會呈現出類似的殘酷,難以維護的HTML(或者嵌入在殘酷,難以維護的標記中)
對於一個完全靜態的網站,你仍然可以設計一些類型的指標,雖然我不知道任何被髮表的。
Regarless,一個好的網站應該有統一的鏈接。
它應該提供統一的導航。
另外,html頁面不應複製或複製,很少或沒有死鏈接。
網站內的鏈接應該是相對的(或者是它們的當前位置或者邏輯根目錄'/'),而不是絕對的。也就是說,不要對域名進行硬編碼。
URI命名模式應該是統一的(最好是小寫。)網址不區分大小寫,因此將鏈接混合使用這兩種情況絕對沒有意義。此外,鏈接可能映射到可能區分大小寫的實際文件系統中的內容,從而導致下一個。
表示短語的URI應該是統一的(或者使用 - 或_來分隔單詞,但不能同時使用,當然也不能使用空格)。避免駱駝的情況(請參閱以前對下殼的評論。)
我不知道任何已發佈或主張的網站類似軟件的指標,但我會想象如果有的話,他們可能會嘗試測量一些我上面提到的屬性。
如果人們用技術細節解釋下調原因(假設他們不是薄利多銷),那將會很好。 – 2011-11-22 18:44:03
This is a great paper關於這個話題。
考慮改進這個答案以包含不僅僅是一個鏈接。見http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-links-elsewhere-really-good-answers – 2012-12-02 22:51:40
- 1. 我可以批量登錄網站嗎?
- 2. 我可以按比例衡量ValueAxis嗎?
- 3. 我們可以在Kendo Grid中讀取複雜對象嗎?
- 4. 我們可以覆蓋父網站的web.config嗎?
- 5. Firebug可以運行我的網站嗎?
- 6. 我們可以在WordPress網站上有一個ASP.NET Webservice嗎?
- 7. 我們可以用MSBuild建立一個網站嗎
- 8. 我們可以在網站層次結構中移動SharePoint嗎?
- 9. 我們可以自動複製* .dll.config嗎?
- 10. MYSQL查詢可以戲劇性地減緩我的網站嗎?
- 11. 我可以主持asp.net網站嗎?
- 12. 我可以自己製作網站嗎?
- 13. 衡量網頁的性能
- 14. 我可以通過我們的htaccess更改其他網站的鏈接嗎?
- 15. 對於您複雜的算法,您如何衡量其性能?
- 16. 我們可以使用JQuery UI對話框進行復雜的操作嗎?
- 17. ListView項可以是複雜的嗎?
- 18. 我們可以做快速排序與n logn最壞情況的複雜性?
- 19. 組織大型網站中複雜文章的複雜網絡
- 20. 我可以使用Chrome開發工具來衡量webworker的性能嗎?
- 21. 我可以在其後面的網站上啓用和禁用負載均衡器上的粘性會話嗎?
- 22. 複雜調查網站
- 23. 可以複製網站嗎?我需要從朋友的網站上獲取設計,但我們想要嘗試這種方式。可能嗎?
- 24. 客戶端瀏覽器可以在我們的網站上添加JavaScript嗎?
- 25. 我們可以在簡單的網站cPanel中部署一個.war文件嗎?
- 26. 我們可以在現有的ASP.NET 4網站上使用Razor嗎?
- 27. 我可以使用什麼指標來衡量應用性能?
- 28. 我可以使用Google翻譯翻譯我的網站嗎?
- 29. PHP:我可以編譯/構建我的網站像.NET嗎?
- 30. 我可以讓我的ajax網站「抓取」嗎?
+1這是一個很好,很少提出的問題。 – 2011-09-13 22:04:36