phploc输出说明

前端之家收集整理的这篇文章主要介绍了phploc输出说明前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果我对我的一个 PHP项目(开源)运行PHPloc,我会看到这个输出.
  1. PHPloc 1.6.4 by Sebastian Bergmann.
  2.  
  3. Directories: 3
  4. Files: 33
  5.  
  6. Lines of Code (LOC): 2358
  7. Cyclomatic Complexity / Lines of Code: 0.08
  8. Comment Lines of Code (CLOC): 903
  9. Non-Comment Lines of Code (NCLOC): 1455
  10.  
  11. Namespaces: 0
  12. Interfaces: 3
  13. Classes: 28
  14. Abstract: 1 (3.57%)
  15. Concrete: 27 (96.43%)
  16. Average Class Length (NCLOC): 49
  17. Methods: 149
  18. Scope:
  19. Non-Static: 128 (85.91%)
  20. Static: 21 (14.09%)
  21. Visibility:
  22. Public: 103 (69.13%)
  23. Non-Public: 46 (30.87%)
  24. Average Method Length (NCLOC): 9
  25. Cyclomatic Complexity / Number of Methods: 1.69
  26.  
  27. Anonymous Functions: 0
  28. Functions: 3
  29.  
  30. Constants: 9
  31. Global constants: 0
  32. Class constants: 9

通过这种静态分析,如何判断这个代码库是好还是坏?或者写得有多好或多坏?

>如果太低或太高,圈复杂性是否良好?
> 3.57%的抽象类是好还是坏?
> 14.09%静态方法.它应该在OOP代码库中更低吗?
>没有使用命名空间,是好还是坏?

最后一个问题如何使用PHPloc的输出分析代码库?

低圈复杂度好,高度差; statics are hard to unit test,但(虽然有些人认为它们和eval一样糟糕)但它们确实有用;来自PHPloc的其他措施需要解释.

但你真的应该使用PHPloc和其他工具,如pdependphpmd.pdepend网站特别解释了很多使用的分析,而PHPmd输出是非常明显的

编辑

作为比较,我正在处理的代码(https://github.com/MarkBaker/PHPGeodetic):我对抽象/具体类的级别感到满意,尽管它可能会更高一些;我有一种方法具有更高的圈复杂度,足以使这些数字略微偏斜,但这并不容易导致被破坏;以及一些较长的方法(但不足以触发PHPmd警告).

  1. Lines of Code (LOC): 4003
  2. Cyclomatic Complexity / Lines of Code: 0.07
  3. Comment Lines of Code (CLOC): 1580
  4. Non-Comment Lines of Code (NCLOC): 2423
  5.  
  6. Namespaces: 0
  7. Interfaces: 1
  8. Traits: 0
  9. Classes: 25
  10. Abstract: 4 (16.00%)
  11. Concrete: 21 (84.00%)
  12. Average Class Length (NCLOC): 103
  13. Methods: 160
  14. Scope:
  15. Non-Static: 129 (80.62%)
  16. Static: 31 (19.38%)
  17. Visibility:
  18. Public: 131 (81.88%)
  19. Non-Public: 29 (18.12%)
  20. Average Method Length (NCLOC): 16
  21. Cyclomatic Complexity / Number of Methods: 2.12
  22.  
  23. Anonymous Functions: 2
  24. Functions: 0
  25.  
  26. Constants: 66
  27. Global constants: 0
  28. Class constants: 66

总的来说,我很想使用公共/私人,非静态/静态和混凝土/抽象的80:20规则;但很大程度上取决于你实际编码的内容

可能更重要的是Cyclomatic Complexity / Methods of Methods …我不喜欢这个数字太高;但如果它高于2.5平均值,我会更加密切地关注PHPmd统计数据

猜你在找的PHP相关文章