PHP應用代碼復雜度檢測使用方法
如果說你想知道一個 PHP 項目的代碼復雜度是什么樣子的,我推薦你可以使用 phploc 和 PhpMetrics 來檢測一下。
使用 phploc這是一個標準的 composer package,不過我推薦大家可以直接使用 composer 全局安裝:
composer global require 'phploc/phploc=*'然后安裝完畢,你就可以使用 phploc 命令來檢測你的代碼復雜度了:
phploc ./app比如上面這行代碼就是檢測你的項目中 app/ 目錄的代碼復雜度;如果是一個 Laravel 的項目的話,大概會是這個樣子的結果輸出:
phploc 3.0.1 by Sebastian Bergmann.Directories 14Files 72Size Lines of Code (LOC) 3748 Comment Lines of Code (CLOC) 790 (21.08%) Non-Comment Lines of Code (NCLOC) 2958 (78.92%) Logical Lines of Code (LLOC) 950 (25.35%) Classes656 (69.05%) Average Class Length 9Minimum Class Length 0Maximum Class Length84 Average Method Length 2Minimum Method Length0Maximum Method Length 21 Functions0 (0.00%) Average Function Length0 Not in classes or functions 294 (30.95%)Cyclomatic Complexity Average Complexity per LLOC 0.10 Average Complexity per Class 2.33 Minimum Class Complexity 1.00 Maximum Class Complexity 15.00 Average Complexity per Method 1.41 Minimum Method Complexity 1.00 Maximum Method Complexity 6.00Dependencies Global Accesses 0 Global Constants 0 (0.00%) Global Variables 0 (0.00%) Super-Global Variables 0 (0.00%) Attribute Accesses 436 Non-Static 436 (100.00%) Static 0 (0.00%) Method Calls 570 Non-Static 412 (72.28%) Static 158 (27.72%)Structure Namespaces15 Interfaces 0 Traits 0 Classes 72 Abstract Classes 0 (0.00%) Concrete Classes72 (100.00%) Methods 233 Scope Non-Static Methods 226 (97.00%) Static Methods 7 (3.00%) Visibility Public Methods 194 (83.26%) Non-Public Methods 39 (16.74%) Functions 24 Named Functions 0 (0.00%) Anonymous Functions 24 (100.00%) Constants 0 Global Constants 0 (0.00%) Class Constants 0 (0.00%)
不過你可能也感覺到,這個 phploc 的一大不便之處就是,目前來說,他還不能把相關的測試結果可視化或者說自定義檢測的最高復雜度。所以,PhpMetrics 就應運而生了。
使用 PhpMetrics首先需要說明的是,PhpMetrics 可以更深入到你的代碼中,并且會生成一個 html 文件作為分析的結果,這樣我們查看檢測結果就會非常的直觀。
安裝 PhpMetrics 也是可以直接 composer 全局安裝:
composer global require 'phpmetrics/phpmetrics'安裝完畢之后,可以這樣來運行命令分析代碼復雜度:
phpmetrics --report-html=report.html ./app等待 phpmetrics 運行結束,用 Chrome 打開 report.html 就可以查看相對應的結果,大概是這個樣子:
以上就是檢測 PHP 應用的代碼復雜度的詳細內容,更多關于PHP 代碼復雜度檢測的資料請關注好吧啦網其它相關文章!
