When two functions 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
func fun1() (x, y int) {
a, b := 1, 2
b, a = a, b
return a, b
}
func fun2() (x, y int) { // Noncompliant; fun1 and fun2 have identical implementations
a, b := 1, 2
b, a = a, b
return a, b
}
Compliant Solution
func fun1() (x, y int) {
a, b := 1, 2
b, a = a, b
return a, b
}
func fun2() (x, y int) { // Compliant
return fun1()
}
Exceptions
Functions with fewer than 2 statements are ignored.