Комментарии 35
Например оператор BETWEEN в SQL в разных версиях ведет себя по разному:
www.w3schools.com/Sql/sql_between.asp
Так вопрос в том, как все таки правильно определить такую функцию.
[a, b) или [a, b]
Желательно так же и пояснения, почему выбран тот или иной вариант.
www.w3schools.com/Sql/sql_between.asp
Так вопрос в том, как все таки правильно определить такую функцию.
[a, b) или [a, b]
Желательно так же и пояснения, почему выбран тот или иной вариант.
+1
Это значит, что автор функции не позаботился об удобности ее использования и читабельности кода другими программистами.
+3
Что именно здесь не удобно? Можно пожалуйста поподробнее.
0
При просмотре кода, вам нужно обращаться к документации. Хорошо если она еще есть. И вместо славного программирования вы, очевидно спорите с коллегами о том как такую функцию нужно понимать, и даже создаете опрос. Конечно, очевидно что многое зависит от конкретного языка, ведь не везде можно сделать например так:
или так:
1 < k < 10
или так:
0
НЛО прилетело и опубликовало эту надпись здесь
КО намекает на первый вариант, как единственно логичный.
-4
Мне кажется нет какого-нибудь стандартизированного подхода. Мне лично [a, b) как-то ближе.
+5
Мне тоже. У меня аналогия с циклом for (int i = 0; i < 10; i++) :)
+1
Несмотря на то, что в близком мне STL обычно используется [a, b), логика всё равно выбирает первый вариант.
+1
Да, логически ближе первое определение. Но встретив в коде, подумаю, что скорее второе. Потому что так удобнее во многих языках. Так что практика повлияет на то, что подумаю про реальный код :)
0
«Мне лично [a, b) как-то ближе. » — это скорее рассуждения тупенькой первокурсницы, чем матерого программера, т.к. программер руководствуется названием используемой функции (а не тем что ему «ближе») и знанием родного каждому айтишнику языка (английского, если вдруг не понятно). «inRange» — это [a,b], и никак иначе.
0
Сперва подумаю, что [0,10].
Сразу вторая мысль о PHP, как о примере «великолепного» соблюдения однотипности названий и параметров функций.
Перестаю думать, лезу в мануал.
Сразу вторая мысль о PHP, как о примере «великолепного» соблюдения однотипности названий и параметров функций.
Перестаю думать, лезу в мануал.
+5
а мой мозг без сомнений выдал: «подходят k от 0 до 10, включая 0 и 10» :)
0
Мне непонятно, почему второй вариант популярней первого. Помоему, тут либо закрытый «наглухо» промежуток, либо с включением с обоих сторон, но никак не третье. (сам выбрал первый вариант, [a, b] )
0
Почему-то, второй вариант мне в голову не пришел бы сам.
+1
НЛО прилетело и опубликовало эту надпись здесь
Второй — ассоциация с циклом (i=0; i
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Вы видите функцию inRange(k, 0, 10) — это значит: