没想到啊

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

全文转自: http://www.lfyzjck.com/2010-11-21/382.html

1、php-cpd

功能描述:检测你代码中复制粘贴的部分( Copy/Paste Detector),位代码重构提供一定指导

安装:linux下比较简单,我用的是fedora,只要

yum install php-cpd就可以了,windows用户可以用pear来安装:

pear channel-discover pear.phpunit.de
pear channel-discover components.ez.no
pear install phpunit/phpcpd

[lfyzjck@lfyzjck yii]$ phpcpd passport/
phpcpd 1.3.1 by Sebastian Bergmann.

Found 7 exact clones with 217 duplicated lines in 13 files:

- protected/views/admin/_form.php:3-81
protected/views/profile/_form.php:3-81
………
2.40% duplicated lines out of 9033 total lines of code.

2、php-dcd

功能描述:检测代码中的Dead code,(Dead code detector)。dead code是指你代码中被声明确没有被其他代码调用的部分,比如定义了却没有使用过的函数或变量,都属于dead code,这些代码会浪费内存。(据说IE9采用了这种优化,把js中不常用的功能给精简掉,从而提高了评测时的得分)
不过这个工具有很多局限,比如你使用框架就会发现,很多功能框架自带单你没有使用它也会报警,另外通过call_user_func()调用的函数可能也会被报警
安装:和上一个差不多

pear channel-discover pear.phpunit.de
pear channel-discover components.ez.no
pear install phpunit/phpdcd-beta

3、php-loc

功能描述:php-loc是一个快速评测代码规模的一个小工具
安装:

pear channel-discover pear.phpunit.de
pear channel-discover components.ez.no
pear install phpunit/phploc

以下是对dicuz 7.2的测试结果:

Directories: 50
Files: 519

Lines of Code (LOC): 108169
Cyclomatic Complexity / Lines of Code: 0.20
Comment Lines of Code (CLOC): 3315
Non-Comment Lines of Code (NCLOC): 104854

Namespaces: 0
Interfaces: 0
Classes: 119
Abstract: 0 (0.00%)
Concrete: 119 (100.00%)
Average Class Length (NCLOC): 120
Methods: 988
Scope:
Non-Static: 988 (100.00%)
Static: 0 (0.00%)
Visibility:
Public: 988 (100.00%)
Non-Public: 0 (0.00%)
Average Method Length (NCLOC): 14
Cyclomatic Complexity / Number of Methods: 3.69

Anonymous Functions: 0
Functions: 758

Constants: 447
Global constants: 447
Class constants: 0

posted on 2011-10-25 14:41  没想到啊  阅读(2273)  评论(0)    收藏  举报