Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
Вы бы залились слезами, если бы тут был весь проект. Я его пока что читаю и параллельно отступы расставляю, так, если что-то приметное попадается, то сюда.
total 1792
-rw-r--r-- 1 wvxvw 23214 Jun 3 19:23 Ajax.js
-rw-r--r-- 1 wvxvw 2536 Jun 3 18:45 ExtendingECMA.js
-rw-r--r-- 1 wvxvw 4068 Jun 3 18:44 ISQ.Base.js
-rw-r--r-- 1 wvxvw 6662 Jun 3 19:32 ISQ.CDC.js
-rw-r--r-- 1 wvxvw 7698 Jun 3 13:28 ISQ.CSS.js
-rw-r--r-- 1 wvxvw 13558 Jun 3 19:09 ISQ.Data.js
-rw-r--r-- 1 wvxvw 1774 Jun 4 14:39 ISQ.Debug.js
-rw-r--r-- 1 wvxvw 3264 Jun 3 19:13 ISQ.Event.js
-rw-r--r-- 1 wvxvw 21637 Jun 3 13:47 ISQ.Forms.js
-rw-r--r-- 1 wvxvw 5624 Jun 3 19:42 ISQ.GUI.js
-rw-r--r-- 1 wvxvw 919 Jun 3 19:13 ISQ.Handler.js
-rw-r--r-- 1 wvxvw 21508 Jun 3 19:15 ISQ.Html.js
-rw-r--r-- 1 wvxvw 7969 Jun 3 13:11 ISQ.Http.js
-rw-r--r-- 1 wvxvw 1028 Jun 3 13:50 ISQ.ImagesList.js
-rw-r--r-- 1 wvxvw 3037 Jun 3 19:12 ISQ.Infra.js
-rw-r--r-- 1 wvxvw 3638 Jun 3 18:44 ISQ.Profiler.js
-rw-r--r-- 1 wvxvw 38049 Jun 4 14:34 ISQ.Protocol.js
-rw-r--r-- 1 wvxvw 1485 Jun 3 19:14 ISQ.Timer.js
-rw-r--r-- 1 wvxvw 18686 Jun 3 19:11 ISQ.Tools.js
-rw-r--r-- 1 wvxvw 75123 Jun 4 15:19 ISQ.Widget.AutoQuestion.js
-rw-r--r-- 1 wvxvw 30114 Jun 4 17:10 ISQ.Widget.ContactForm.js
-rw-r--r-- 1 wvxvw 4034 Jun 4 17:08 ISQ.Widget.Escalate.js
-rw-r--r-- 1 wvxvw 97861 Jun 4 15:15 ISQ.Widget.Html.js
-rw-r--r-- 1 wvxvw 116814 Jun 4 15:01 ISQ.Widget.js
-rw-r--r-- 1 wvxvw 33655 Jun 4 16:58 ISQ.Widget.Query.js
-rw-r--r-- 1 wvxvw 3134 Jun 4 17:04 ISQ.Widget.ThumbUp.js
-rw-r--r-- 1 wvxvw 4630 Jun 4 17:01 ISQ.Widget.Translation.js
-rw-r--r-- 1 wvxvw 1346 Jun 3 19:26 nanoRep.js
-rw-r--r-- 1 wvxvw 219547 Jun 4 14:40 n.js
-rw-r--r-- 1 wvxvw 5619 Jun 3 19:37 VisualEffects.js
-rw-r--r-- 1 wvxvw 5120 Jun 3 19:34 VisualEffects.js~
а по-моему два брейка вполне нормально
это как писать return в самом начале ф-ции после какой-то элементарной проверки и если делать больше ничего не надо
с таким же успехом можно было бы убрать первый break и обернуть весь case в if. но зачем?
Кстати да. К сожалению многие считают правило типа один return на функцию религией. И устраивают крестовые походы на тех, кто так не делает.
Но на самом деле, зачастую, в небольшой функции (а они ведь должны быть небольшими!) несколько return'ов, отбрасывающих кривые данные или return в цикле поиска очень наглядны и удобны, по сравнению с флагами, коими пытаются нас кормить адепты-одноретурнцы.
Так что не вижу ничего плохого в двух бряках. Да собственно как и в варианте без двух бряков.
Тут проблема не в том, что их два (хотя меня и от этого коробит), а в том, что если условие будет наоборот, то и второй брейк не нужен будет. Т.е. зачем автор так сделал - мне не понятно.
Т.е. конструкция практически идентична if (condition) else { code }
И это еще даже не весь проект.
это как писать return в самом начале ф-ции после какой-то элементарной проверки и если делать больше ничего не надо
с таким же успехом можно было бы убрать первый break и обернуть весь case в if. но зачем?
Но на самом деле, зачастую, в небольшой функции (а они ведь должны быть небольшими!) несколько return'ов, отбрасывающих кривые данные или return в цикле поиска очень наглядны и удобны, по сравнению с флагами, коими пытаются нас кормить адепты-одноретурнцы.
Так что не вижу ничего плохого в двух бряках. Да собственно как и в варианте без двух бряков.
Т.е. конструкция практически идентична if (condition) else { code }
все равно не понимаю как можно без последнего break'а
Ну, в принципе, может так оно и лучше. Хотя лично я не вижу плохого в обоих вариантах.