Details
-
Type:
Language-Specification
-
Status: Active
-
Resolution: Unresolved
-
Labels:None
-
Message:Update this function so that its implementation is not identical to "XXX" on line n
-
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, the code should be refactored.
Noncompliant Code Example
class MyClass { fun calculateCode(): String { doTheThing() doOtherThing() return "done" } fun getStatus(): String { // Noncompliant doTheThing() doOtherThing() return "done" } }
Compliant Solution
class MyClass { fun calculateCode(): String { doTheThing() doOtherThing() return "done" } fun getStatus(): String = calculateCode() }
Exceptions
Methods with fewer than 2 statements are ignored.