Недавно читал топип о [красоте кода][1]. В комментариях, набрала популярность тема переноса скобочек при записи условного оператора. В [одном из вариантов][2] пример из статьи выглядел так:
if (typeof a ! == "undefined"
&& typeof b ! == "undefined"
&& typeof c === "string")
{
call_function(a, b, c);
// ...
}
Задумался над самими условиями: они немного странные, хотя и часто встречаются. Внутри «call\_function» будет проверяться тип «a» и тип «b», но не тип «с». С другой стороны, количество поддерживаемых сочетаний типов «a» и «b», поддерживаемых функцией конечно, и, скорее всего, фиксировано, а, значит, было бы полезно эти сочетания увидеть. А [этот пост][3] натолкнул на мысль, что можно вообще обойтись без условных операторов. Так и зародилась идея отказаться от условных операторов в пользу индексов. Несмотря на то, подход рассматривается в рамках Javascript, он с успехом может быть применен во многих других языках после учета их синтаксических особенностей. Не надейтесь увидеть тут картины Рембранта мира программирования. Код в статье — произведение Дали. Впрочем, как и сама статья. [Читать дальше →][4]
[1]:
http://habrahabr.ru/company/geekbrains/blog/270001
[2]:
http://habrahabr.ru/company/geekbrains/blog/270001
[3]:
http://habrahabr.ru/post/269875/
[4]:
http://habrahabr.ru/post/270241/#habracut