Alikberov, лол, потому что это запутает код ещё больше. С метками то уже ад, с цифрами - вообще полное безумие.
Попади я на такой код, я бы реально задумался о рукоприкладстве вживую, а не через монитор.) Это тут у тебя три цикла сразу подряд и выполняют полтора действия(и то с полпинка не рабирёшься), а попробуй представить себе реальный цикл с этим дерьмом. |
Цитата:
Но, на крайний случай такие механизмы не помешали бы, однако, с примечанием, что не рекомендуется к обильному использованию и валидаторы не пропустят, если на весь код приходится больше процента. Но, правда: Иногда, в очень узких местах, указание уровня действия не помешало бы, чем вкладывать в цикл функцию с циклом и прерываться по return true/false, типа: for(i = 0; i < x; ++ i) { if(function() { for(j = 0; j < y; ++ j) { if(i == j) return false; } }) continue; }Что ещё хуже. |
Alikberov, по-хорошему - разбить всё на отдельные функции с говорящими именами и вызывать одну из другой.
Максимум для цикла двойная вложенность и то только в простых случаях. |
Цитата:
|
Вообще в программировании существуют много спорных ситуаций, про которые есть прямо противоположные мнения. Стоит так делать или нет. С одной стороны "удобочитаемость", с другой стороны эффективность.
Это и break, и вложенные тетрарные операции, и использование блоков для инкапсуляции переменных, и обязательное закрытие тегов в html.... Удобочитаемость, как мне кажется - дело привычки и понимания кода. Доходит до того, что ругань идет по поводу x | 0 для взятия целой части. Мол это не понятно, и всегда надо Math.floor. А вдруг, кому то не понятно x++? Тогда надо всегда х += 1; использовать? Хотя кому то и это может быть не понятно. Тогда уж x = x+ 1; И только так. |
Цитата:
|
Цитата:
Тем более, когда тело функции синтезируется по шаблону при запуске скрипта. Цитата:
А «x | 0» выглядит не так интуитивно, как «x.0»…:yes: Тем более, в условиях форума «Math.floor(x)» - слишком громоздкая запись… |
voraa,
x | 0 - неудачный пример для js Math.floor - работает быстрее и с большими числами const a = Math.pow(2, 52) / 3; console.log(a, a|0, Math.floor(a)); alert((a|0) === Math.floor(a)) |
Цитата:
Для меня большие целые числа - экзотика. Цитата:
|
Цитата:
И приобрёл множество Думаю, не было бы большой проблемой добавить подобную фишку округления до указанного порядка: console.log(Math.PI.0); // 3 console.log(Math.PI.1); // 3.1 console.log(Math.PI.2); // 3.14 console.log(Math.PI.3); // 3.141 console.log(Math.PI.4); // 3.1415 console.log(Math.PI.5); // 3.14159Чем выражение «Math.floor(x * 10 ** n) / 10 ** n» (иногда это требуется)… (Хотя Фортрановский ** ввели совсем недавно тоже.) |
Часовой пояс GMT +3, время: 07:07. |