Having too many return statements in a function increases the function's essential complexity because the flow of execution is broken each time a return statement is encountered. This makes it harder to read and understand the logic of the function.

Noncompliant Code Example

With the default threshold of 3:

def fun():          # Noncompliant as there are 4 return statements
  if condition1:
    return True
  elif condition2:
    return False
  else:
    return True
  return False
}