When two methods have the same implementation, either it was a mistake - something else was intended - or the duplication was intentional, but may
be confusing to maintainers. In the latter case, one implementation should invoke the other.
Noncompliant Code Example
class Box(length: Int, width: Int, height: Int) {
def volume: Int = {
val s = length * width
s * height
}
def area: Int = {
val s = length * width
s * height
}
}
Compliant Solution
class Box(length: Int, width: Int, height: Int) {
def volume: Int = {
val s = length * width
s * height
}
def area: Int = {
length * width
}
}
Exceptions
Methods with fewer than 2 statements are ignored.