Clojure程式的特定軟體指標
我們正在考慮編寫靜態分析儀來收集Clojure程式碼的軟體指標.當然,它會處理諸如檔案數量,功能,每個函式的引數等顯而易見的東西.我想知道是否有任何針對Clojure程式碼的指標.有任何想法嗎?
平均而言 – 我認為軟體指標是一個可疑的想法 – 他們通常會把您從“交付給客戶的價值多少”的真正重要問題分散注意力.
話雖如此,我認識到他們在某些情況下可能是一個必要的邪惡,偶爾可以給你一些關於你的程式碼基礎的有用的見解.
所以這裡有一些可能是Clojure特定的.
>頂級定義的數量(可能表示為與總符號計數的比率)?
> Java耦合:與Java interop相關的符號的百分比(new,ClassName,.someMethod等) – 理想地將耦合限制在負責Java互操作的特定模組上,即除了管理互操作的庫之外,應該保持低的%.
>函式defns的平均最大巢狀級別(我猜5,好,10壞?)
>巨集密度:需要巨集擴充套件的窗體的百分比
>具有文件字串的函式的百分比
>%型別提示定義的符號或函式引數
>匿名函式的平均大小(這些應該可能很小!)
>使用clojure.core中的函式的百分比(給出一些“詞彙範圍”的概念和程式碼的複雜性)
(謝謝nickik!)建立的引用型別的數量(動態變數,原子,引用和代理) – 必要的,如果你想要保持對可變狀態的仔細控制!
附:如果你得到這個工作,看到一些不同的開源專案的結果變化是非常有趣的!
程式碼日誌版權宣告:
翻譯自:http://stackoverflow.com/questions/5649559/specific-software-metrics-for-clojure-programs