Skip to content

Instantly share code, notes, and snippets.

@DanishSiddiq
Last active March 5, 2021 04:51
Show Gist options
  • Save DanishSiddiq/edcb97ba87a7fbf6e5ede1ac216c61cb to your computer and use it in GitHub Desktop.
Save DanishSiddiq/edcb97ba87a7fbf6e5ede1ac216c61cb to your computer and use it in GitHub Desktop.
Bouncer pattern explaining early return
function calculateSomeFormula(param1, param2) {
validateParams(param1, param2);
return (param1 * 2) * (param2 * 3);
}
// although return value is not used in our example but this method can also return value which can be used by the caller
function validateParams(param1, param2) {
if (!param1) {
throw new Error('Param1 is not defined');
}
if (isNaN(param1)) {
throw new Error('Param1 is not a number');
}
if (!param2) {
throw new Error('Param2 is not defined');
}
if (isNaN(param2)) {
throw new Error('Param2 is not a number');
}
return true;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment