nitc :: MIF :: defaultinit
# Module metric: proportion of MClass Inherited From
#
# Count classes that have at least a child
class MIF
super MModuleMetric
super FloatMetric
redef fun name do return "mif"
redef fun desc do return "proportion of mclass inherited from"
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).direct_smallers.length > 0 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:186,1--208,3