Каков наиболее читаемый способ написать очень простую функцию, которая эффективно выполняет один оператор, если выполняется условие?
Что я считаю наиболее читаемым, так это:
function doSomething(myNumber){
if(myNumber !== null && myNumber > 5){
doTheThing();
}
}
Однако мой коллега настаивает на том, что защитные предложения делают что-либо более читаемым, и всегда будет писать эту функцию следующим образом:
function doSomething(myNumber){
if(myNumber === null || myNumber <= 5)
return;
doTheThing();
}
Я понимаю, что защитные предложения могут быть более читаемыми в более крупных функциях, особенно если есть необходимость проверить наличие нескольких условий и / или если необходимо выбросить исключения. Но в таком случае мне всегда приходится делать тройной дубль, чтобы понять, в каком случае будет выполняться doTheThing (), что кажется смешным для такой простой функции.