Несколько мыслей о душе на весь день:
Я думаю, было бы неплохо, если бы языки поддерживали fluent условные операторы.
Так вместо
if(condition) { someFunction(); } else if (anotherCondition) { anotherFunction() } else { doSomething() }
Может быть, есть что-то вроде
if(condition, someFunction) .elseIf(anotherCondition, anotherFunction) .else(doSomething)
или пойти дальше и заставить его возвращать значение
var someVar = if(condition, someFunction) .elseIf(anotherCondition, anotherFunction) .else(defaultValue)
Плюсы :
- вы получаете более краткое и, возможно, более выразительное заявление
- при правильном использовании он может читаться как проза
Минусы :
- вероятно, это неестественно или неинтуитивно для некоторых людей; возможно, большая когнитивная нагрузка?
На самом деле я не уверен, существует ли это уже где-то еще, и мне слишком лень выяснять, существует ли это. Но что вы, ребята, думаете? Это полезно или я просто слишком много об этом думаю? 😆
Оригинал: “https://dev.to/gervg/fluent-if-else-statements-mc3”