全文预览

六种可定量分析的代码味道

上传者:徐小白 |  格式:doc  |  页数:6 |  大小:0KB

文档介绍
码行数的阈值为1000,后者的阈值为2000。 (5) 过长方法 (Long Method) 过长方法是指那些很长的方法。由于太长,导致难于理解、改变和扩展。也可以指一个方法承担了太多职责,使之成为一个类,甚至一个子系统的中心方法。 度量过长方法看起来是一件很容易的事情,但是事实并非如此,依赖于一些简单的度量方式(例如源代码行数NLOC)可能会带来一些错误的结果,例如:有一些类的初始化方法(如构造函数)可能会比较长,由于它们的圈复杂度一般比较低,理解和修改较为容易,因此通常没有必要去重构那些长的初始化方法。M?ntyl?建议使用圈复杂度(Cyclomatic Complexity)和Halstead度量(Halstead Measures)去识别过长方法,因为它们可以度量操作数和操作符的个数,并且提供了一些重要的有关方法复杂性的信息。根据M?ntyl?的建议,最好的度量过长方法的度量指标应该是由源代码行数(NLOC)、圈复杂度和Halstead度量组合而成的一个多项式度量指标。 Checkstyle和PMD等工具探测过长方法用的是最简单的源代码行数(NLOC),但是使用了不同的阈值,例如PMD的阈值为100而Checkstyle的阈值是150。JDeodorant使用了切片技术来判断一个类是否满足Extract Method(提取方法)重构时机。 (6) 过长参数列表 (Long Parameter List) 过长参数列表是指一个方法的参数列表太长以致难以理解。 过长参数列表的探测可以通过统计每个方法中参数的个数来实现。 探测过长参数列表的要点在于参数个数阈值的设定。例如,在PMD中默认的阈值数量为10,而在Checkstyle中为7。 【作者:刘伟 http://blog.csdn.net/lovelion】

收藏

分享

举报
下载此文档