Nitlanguage.org
  • Nitdoc
  • nitc
  • metrics
  • codesmells_metrics
  • LargeClass
  • defaultinit

init defaultinit(phase: CodeSmellsMetricsPhase, model: Model, filter: ModelFilter)

nitc :: LargeClass :: defaultinit

  • Doc
  • Linearization

Summary

  • Property definitions

  • nitc$LargeClass$defaultinit

Property definitions

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
Nit tools. Version .