Details
-
Type:
Language-Specification
-
Status: Active
-
Resolution: Unresolved
-
Labels:None
-
Impact:Unknown 'null' severity
-
Likelihood:Unknown 'null' severity
Description
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.