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 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.

        Attachments

          Activity

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            alexandre.gigleux Alexandre Gigleux
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated: