在 MATLAB 中,我可以通过使用以下代码来量化我的代码的简洁程度:
t = mtree('myCode.m','-file');
length(t.nodesize)
正如 CODY ( http://www.mathworks.com/matlabcentral/about/cody/ ) 描述的那样:
Cody 使用节点计数计算来根据解析树中的节点数确定解决方案大小。将大小视为代码长度。编写简洁的代码可以获得更好的结果。注释不影响代码大小。
为了说明 Cody 如何确定大小,这里有两个加一问题的解决方案。
解决方案 1 的大小为 12:
function y = plus_one(x)
y = x+1;
end
解决方案 2 的大小为 16:
function y = plus_one(x)
z = x;
y = z+1;
end
有什么方法可以对 R 代码进行类似的计算吗?R中的代码质量还有其他可量化的指标吗?MATLAB 还可以测量 McCabe 复杂度,例如:
mlint -cyc myCode.m