nitc :: LargeClass :: defaultinit
class LargeClass
super BadConception
var number_attribut = 0
var number_method = 0
redef fun name do return "LARGC"
redef fun desc do return "Large class"
redef fun collect(mclassdef, model_builder): Bool do
self.number_attribut = mclassdef.collect_intro_and_redef_mattributes(filter).length
# Get the number of methods (Accessor include) (subtract the get and set of attibutes with (numberAtribut*2))
self.number_method = mclassdef.collect_intro_and_redef_methods(filter).length
self.score_rate
return self.number_method.to_f > phase.average_number_of_method and self.number_attribut.to_f > phase.average_number_of_attribute
end
redef fun print_result do
print phase.toolcontext.format_h2("{desc}: {number_attribut} attributes and {number_method} methods ({phase.average_number_of_attribute}A {phase.average_number_of_method}M Average)")
end
redef fun score_rate do
score = (number_method.to_f + number_attribut.to_f) / (phase.average_number_of_method + phase.average_number_of_attribute)
end
end
src/metrics/codesmells_metrics.nit:189,1--214,3