Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.118.126.11] |
|
Страницы: (7) 1 [2] 3 4 ... 6 7 все ( Перейти к последнему сообщению ) |
Сообщ.
#16
,
|
|
|
Сообщ.
#17
,
|
|
|
Цитата Jin X @ Он лучше, когда основной код занимает больше 1 строки, а здесь какой смысл в этом нагромождении? Сейчас там 1 строка, завтра может быть 10. Без "нагромождения" нужно будет переписывать. pull-request'ы будут больше и дольше будешь апрувов ждать |
Сообщ.
#18
,
|
|
|
Цитата Jin X @ Он лучше, когда основной код занимает больше 1 строки, а здесь какой смысл в этом нагромождении? Ранний выход из функции проще читается. Я хз как сформулировать своими словами почему именно проще, ты меня в тупик поставил |
Сообщ.
#19
,
|
|
|
D_KEY, намекаешь на то, что все будут пытаться исправить?
Serafim, я понимаю, когда там хотя бы 2-3 строки основного кода. Или если есть большая вероятность, что код будет дописан. Но если предпосылок к расширению кода пока особых нет, чем это лучше? const fetchData = (id) => { if (!id) return; fetch('/data/' + id) } const fetchData = (id) => { if (id) fetch('/data/' + id) } Хоть со {скобками}, хоть без... |
Сообщ.
#20
,
|
|
|
Цитата Jin X @ Суть вообще не в этом. Будем считать, что алгоритм достаточно оптимален (это часть кода разложения на простые множители и манипуляции с ними), но есть 2 вот таких варианта реализации Там вообще умножение должно быть, я заменил его на деление для пущего эффекта это не 2 варианта реализации, это 2 разных алгоритма первый лучше - нет внезапного выхода из цикла, 2 условия vs 4 а за while 1: ... if n % i: break отдельный котёл положен |
Сообщ.
#21
,
|
|
|
Цитата villain @ По большому счёту, это один алгоритм всё же. Вот, к примеру здесь тоже 3 разных алгоритма?это не 2 варианта реализации, это 2 разных алгоритма Цитата villain @ Это отсутствие do-while в Python. Можно поменять 2 последние строки местами, как вариант, а перед циклом написать k=1 а за ... отдельный котёл положен |
Сообщ.
#22
,
|
|
|
Цитата Jin X @ По большому счёту, это один алгоритм всё же. Вот, к примеру здесь тоже 3 разных алгоритма? порядок действий разный? значит разные. Цитата Jin X @ Это отсутствие do-while в Python. Можно поменять 2 последние строки местами, как вариант, а перед циклом написать k=1 зачем, если есть вариант без этих костылей? |
Сообщ.
#23
,
|
|
|
Цитата Jin X @ Serafim, я понимаю, когда там хотя бы 2-3 строки основного кода. Или если есть большая вероятность, что код будет дописан. Но если предпосылок к расширению кода пока особых нет, чем это лучше? Как минимум тем, что в первом варианте явно видна сигнатура Promise|null, а во втором - нет. Да и, повторюсь, за опускание фигурных скобок хочется убивать В культурном мире - это как код без отступов - признак плохих манер или неуча за клавиатурой. По крайней мере в JS и некоторых других языках, где уже давно есть codestyle стандарты. |
Сообщ.
#24
,
|
|
|
Цитата Serafim @ Да и, повторюсь, за опускание фигурных скобок хочется убивать В культурном мире - это как код без отступов - признак плохих манер или неуча за клавиатурой. Ох уж мне эти "культурные люди", все-то они возводят в абсолют void doSmthng(){ if(smthngBad1)throw new Exception("Something bad 1"); if(smthngBad2)throw new Exception("Something bad 2"); if(smthngBad3)throw new Exception("Something bad 3"); do(); } Появление фигурных скобок читаемость ухудшит в разы. |
Сообщ.
#25
,
|
|
|
Цитата Астарот @ Появление фигурных скобок читаемость ухудшит в разы. Ага, конечно function doSmthng() { switch (true) { case smthngBad1: throw new Exception("Something bad 1"); case smthngBad2: throw new Exception("Something bad 1"); case smthngBad3: throw new Exception("Something bad 1"); } do(); } Добавлено И то, это потому, что в JS нет нормального паттерн матчинга |
Сообщ.
#26
,
|
|
|
Цитата Serafim @ Ага, конечно И зачем ты три легко читаемые строчки превратил в... это? Да и речь шла про Цитата Serafim @ за опускание фигурных скобок хочется убивать Ну, вот случай, когда опускать их прямо показано |
Сообщ.
#27
,
|
|
|
Цитата Serafim @ Ага, конечно function doSmthng() { switch (true) { case smthngBad1: throw new Exception("Something bad 1"); case smthngBad2: throw new Exception("Something bad 1"); case smthngBad3: throw new Exception("Something bad 1"); } do(); } Вот за такое и правда, хочется взять и у@#$ть. Мне понадобилось несколько секунд, чтобы понять что за муйня такая этот ваш switch(true). |
Сообщ.
#28
,
|
|
|
Цитата applegame @ Вот за такое и правда, хочется взять и у@#$ть. Редкий случай, но я вот тут соглашусь |
Сообщ.
#29
,
|
|
|
Цитата Serafim @ И чем тебе в этом случае поможет "нормальный" паттерн-матчинг? И то, это потому, что в JS нет нормального паттерн матчинга |
Сообщ.
#30
,
|
|
|
Цитата applegame @ И чем тебе в этом случае поможет "нормальный" паттерн-матчинг? Думаю речь тут идет в том числе о том, что в js в case можно методы вызывать, то есть за исключением многословности тот же if получается. |