Turn Nesting into Guard Clauses
Refactor a nested conditional by extracting early exits while preserving behavior.
A return-eligibility function hides the normal path under five nested conditionals. Guard clauses: handle disqualifying cases early, then leave the main path flat. The common shortcut is adding the new exception inside the deepest block, which makes every future rule harder to locate and reason about. Map outcomes List each current result: missing receipt, expired window, final-sale item, fraud hold, returnable. You cannot preserve behavior you have not named. Outcome mapping turns a tangle into a checklist. Move one guard Return early for missing receipt with the same reason code the nested branch already produced. A single guard clause should…
Sign up free — one personalized lesson every day, matched to your role and goals.
Already have an account? Sign in