See all glossary terms

Early Returns

Some functions need to check various conditions before running their instructions. Suppose you have a function that does complex calculations when the player gets hit. Something like:
func player_hit(damage: int) -> void:
  if player_health > 0:
    if player_is_invincible == false:
      player_health -= damage
Early returns allow to avoid nesting:
func player_hit(damage: int) -> void:
  if player_health < 0:
    return
  if player_is_invincible == true:
    return
  player_health -= damage
In this example, if anything prevents the function from functioning, it will return, interrupting itself. Not only does this avoid deeply nesting if statements, but it also makes mistakes a little less likely.
This example is very straightforward, but in longer pieces of code, it often happens that you write a piece of code outside the boundary of the conditional by mistake. Early returns make that type of mistake impossible.

See Also

Related terms in the Glossary