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

Swift: Functions should not have identical implementations

    XMLWordPrintable

    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 calculate() {
        doTheThing()
        doOtherThing()
      }
        
      func doEverything() {  // Noncompliant
        doTheThing()
        doOtherThing()
      }
      

      Compliant Solution

      func calculate() {
        doTheThing()
        doOtherThing()
      }
        
      func doEveryting() {
        calculate()
      }
      

      Exceptions

      Methods with fewer than 2 statements are ignored.

        Attachments

          Activity

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            pierre-yves.nicolas Pierre-Yves Nicolas
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated: