Uploaded image for project: 'Rules Repository'
  1. Rules Repository
  2. RSPEC-4144 Methods should not have identical implementations
  3. RSPEC-4685

Kotlin: Functions should not have identical implementations

    XMLWordPrintable

    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.

        Attachments

          Activity

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            christophe.zurn Christophe Zurn
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated: