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.

Note that this rule requires Node.js to be available during analysis.

Noncompliant Code Example

function calculateCode() {
  doTheThing();
  doOtherThing();
  return code;
}

function getName() {  // Noncompliant
  doTheThing();
  doOtherThing();
  return code;
}

Compliant Solution

function calculateCode() {
  doTheThing();
  doOtherThing();
  return code;
}

function getName() {
  return calculateCode();
}

Exceptions

Functions with fewer than 3 lines are ignored.