我想收集一些有關存儲庫的統計數據,以便隨時間進行比較。目的是了解特定語言的使用方式是如何隨著時間變化的,以及不同項目的複雜性和大小如何增長或縮小。
有一個很棒的工具,稱為 cloc
可以測量不同語言的代碼行。這是一個很好的開始,但是LOC度量不是很有代表性。我想收集更好的方法,例如,從代碼和功能點的邏輯行開始,最後是循環複雜性。
也有一些工具可以做到這一點:
-
Python具有出色的
radon
庫,該庫提供了LLOC,圈複雜度等,並可以間接確定功能點的數量。 -
C#顯然具有Visual Studio的 Code Metrics,它還提供了詳細的信息,包括ILLOC,與LOC不同,ILLOC可以很好地代表項目的規模以及循環複雜度。
-
JavaScript具有
complexity-report
,這也使得計算功能點,以及LLOC和圈複雜度。 -
PHP似乎也有一個工具,它既提供了LLOC又提供了功能數點,圈複雜度和其他信息。
我找不到的是Bash的類似工具。有一個眾所周知的 ShellCheck靜態分析工具,但這不是我想要的:ShellCheck而是搜索代碼中可能存在的問題,類似於JavaScript的 jslint
和C#的代碼分析
所以:
-
是否有一個工具,類似於
cloc
,可以顯示數十個LLOC,功能點和圈複雜度語言? -
還是有專門針對Bash腳本的工具?
注意:我對可以在Linux終端上使用的免費工具,付費產品,在線服務或API不感興趣。