Skip to content

Commit f2e8876

Browse files
authored
Add files via upload
1 parent e4f16bc commit f2e8876

File tree

1 file changed

+28
-28
lines changed

1 file changed

+28
-28
lines changed

src/multirefactor/FitnessFunction.java

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ public class FitnessFunction
1414
private ArrayList<String> nonPriorityClasses;
1515
private ArrayList<List<CompilationUnit>> previousUnits;
1616
private HashMap<String, Integer> elementScores;
17+
float baseline = 0.01f;
1718

1819
// Only use if normalisation functions (calculateBenchmark, calculateNormalisedScore) are not being used.
1920
public FitnessFunction(ArrayList<MetricSpecification> configuration)
@@ -24,35 +25,34 @@ public FitnessFunction(ArrayList<MetricSpecification> configuration)
2425
public FitnessFunction(Metrics m, ArrayList<MetricSpecification> configuration)
2526
{
2627
this.configuration = configuration;
27-
float baseline = 0.01f;
2828

2929
this.initialMetrics = new HashMap<String, Float>();
30-
initialMetrics.put("classDesignSize", (float) m.classDesignSize() == 0 ? baseline : (float) m.classDesignSize());
31-
initialMetrics.put("numberOfHierarchies", (float) m.numberOfHierarchies() == 0 ? baseline : (float) m.numberOfHierarchies());
32-
initialMetrics.put("averageNumberOfAncestors", m.averageNumberOfAncestors() == 0 ? baseline : m.averageNumberOfAncestors());
33-
initialMetrics.put("dataAccessMetric", m.dataAccessMetric() == 0 ? baseline : m.dataAccessMetric());
34-
initialMetrics.put("directClassCoupling", m.directClassCoupling() == 0 ? baseline : m.directClassCoupling());
35-
initialMetrics.put("cohesionAmongMethods", m.cohesionAmongMethods() == 0 ? baseline : m.cohesionAmongMethods());
36-
initialMetrics.put("aggregation", m.aggregation() == 0 ? baseline : m.aggregation());
37-
initialMetrics.put("functionalAbstraction", m.functionalAbstraction() == 0 ? baseline : m.functionalAbstraction());
38-
initialMetrics.put("numberOfPolymorphicMethods", m.numberOfPolymorphicMethods() == 0 ? baseline : m.numberOfPolymorphicMethods());
39-
initialMetrics.put("classInterfaceSize", m.classInterfaceSize() == 0 ? baseline : m.classInterfaceSize());
40-
initialMetrics.put("numberOfMethods", m.numberOfMethods() == 0 ? baseline : m.numberOfMethods());
41-
initialMetrics.put("weightedMethodsPerClass", m.weightedMethodsPerClass() == 0 ? baseline : m.weightedMethodsPerClass());
42-
initialMetrics.put("numberOfChildren", m.numberOfChildren() == 0 ? baseline : m.numberOfChildren());
43-
initialMetrics.put("abstractness", m.abstractness() == 0 ? baseline : m.abstractness());
44-
initialMetrics.put("abstractRatio", m.abstractRatio() == 0 ? baseline : m.abstractRatio());
45-
initialMetrics.put("staticRatio", m.staticRatio() == 0 ? baseline : m.staticRatio());
46-
initialMetrics.put("finalRatio", m.finalRatio() == 0 ? baseline : m.finalRatio());
47-
initialMetrics.put("constantRatio", m.constantRatio() == 0 ? baseline : m.constantRatio());
48-
initialMetrics.put("innerClassRatio", m.innerClassRatio() == 0 ? baseline : m.innerClassRatio());
49-
initialMetrics.put("referencedMethodsRatio", m.referencedMethodsRatio() == 0 ? baseline : m.referencedMethodsRatio());
50-
initialMetrics.put("visibilityRatio", m.visibilityRatio() == 0 ? baseline : m.visibilityRatio());
51-
initialMetrics.put("linesOfCode", (float) m.linesOfCode() == 0 ? baseline : (float) m.linesOfCode());
52-
initialMetrics.put("numberOfFiles", (float) m.numberOfFiles() == 0 ? baseline : (float) m.numberOfFiles());
53-
initialMetrics.put("priority", baseline);
54-
initialMetrics.put("diversity", baseline);
55-
initialMetrics.put("elementRecentness", baseline);
30+
initialMetrics.put("classDesignSize", (float) m.classDesignSize() == 0 ? this.baseline : (float) m.classDesignSize());
31+
initialMetrics.put("numberOfHierarchies", (float) m.numberOfHierarchies() == 0 ? this.baseline : (float) m.numberOfHierarchies());
32+
initialMetrics.put("averageNumberOfAncestors", m.averageNumberOfAncestors() == 0 ? this.baseline : m.averageNumberOfAncestors());
33+
initialMetrics.put("dataAccessMetric", m.dataAccessMetric() == 0 ? this.baseline : m.dataAccessMetric());
34+
initialMetrics.put("directClassCoupling", m.directClassCoupling() == 0 ? this.baseline : m.directClassCoupling());
35+
initialMetrics.put("cohesionAmongMethods", m.cohesionAmongMethods() == 0 ? this.baseline : m.cohesionAmongMethods());
36+
initialMetrics.put("aggregation", m.aggregation() == 0 ? this.baseline : m.aggregation());
37+
initialMetrics.put("functionalAbstraction", m.functionalAbstraction() == 0 ? this.baseline : m.functionalAbstraction());
38+
initialMetrics.put("numberOfPolymorphicMethods", m.numberOfPolymorphicMethods() == 0 ? this.baseline : m.numberOfPolymorphicMethods());
39+
initialMetrics.put("classInterfaceSize", m.classInterfaceSize() == 0 ? this.baseline : m.classInterfaceSize());
40+
initialMetrics.put("numberOfMethods", m.numberOfMethods() == 0 ? this.baseline : m.numberOfMethods());
41+
initialMetrics.put("weightedMethodsPerClass", m.weightedMethodsPerClass() == 0 ? this.baseline : m.weightedMethodsPerClass());
42+
initialMetrics.put("numberOfChildren", m.numberOfChildren() == 0 ? this.baseline : m.numberOfChildren());
43+
initialMetrics.put("abstractness", m.abstractness() == 0 ? this.baseline : m.abstractness());
44+
initialMetrics.put("abstractRatio", m.abstractRatio() == 0 ? this.baseline : m.abstractRatio());
45+
initialMetrics.put("staticRatio", m.staticRatio() == 0 ? this.baseline : m.staticRatio());
46+
initialMetrics.put("finalRatio", m.finalRatio() == 0 ? this.baseline : m.finalRatio());
47+
initialMetrics.put("constantRatio", m.constantRatio() == 0 ? this.baseline : m.constantRatio());
48+
initialMetrics.put("innerClassRatio", m.innerClassRatio() == 0 ? this.baseline : m.innerClassRatio());
49+
initialMetrics.put("referencedMethodsRatio", m.referencedMethodsRatio() == 0 ? this.baseline : m.referencedMethodsRatio());
50+
initialMetrics.put("visibilityRatio", m.visibilityRatio() == 0 ? this.baseline : m.visibilityRatio());
51+
initialMetrics.put("linesOfCode", (float) m.linesOfCode() == 0 ? this.baseline : (float) m.linesOfCode());
52+
initialMetrics.put("numberOfFiles", (float) m.numberOfFiles() == 0 ? this.baseline : (float) m.numberOfFiles());
53+
initialMetrics.put("priority", this.baseline);
54+
initialMetrics.put("diversity", this.baseline);
55+
initialMetrics.put("elementRecentness", this.baseline);
5656
}
5757

5858
public float calculateBenchmark()
@@ -96,7 +96,7 @@ public float calculateNormalisedScore(Metrics m)
9696
}
9797
else
9898
{
99-
float metricValue = (findMetricValue(m, metric.getName()) == 0) ? 0.01f : findMetricValue(m, metric.getName());
99+
float metricValue = (findMetricValue(m, metric.getName()) == 0) ? this.baseline : findMetricValue(m, metric.getName());
100100
value = metricValue / this.initialMetrics.get(metric.getName());
101101
value--;
102102
}

0 commit comments

Comments
 (0)