nitc :: MDUI :: defaultinit
# Module metric: proportion of MClasses Defined Using Inheritance
#
# Count MClasses that have another parents than Object
class MDUI
super MModuleMetric
super FloatMetric
redef fun name do return "mdui"
redef fun desc do return "proportion of mclass defined using inheritance (has other parent than Object)"
redef fun collect(mmodules) do
for mmodule in mmodules do
var count = 0
for mclass in mmodule.intro_mclasses do
if mclass.in_hierarchy(mainmodule).greaters.length > 2 then count += 1
end
if mmodule.intro_mclasses.is_empty then
values[mmodule] = 0.0
else
values[mmodule] = count.to_f / mmodule.intro_mclasses.length.to_f
end
end
end
end
src/metrics/inheritance_metrics.nit:106,1--128,3