Запитання з тегом «control-structures»

9
Звідки взялося поняття "єдиного повернення"?
Я часто розмовляю з програмістами, які говорять " Не кладіть кілька заяв на повернення одним і тим же методом ". Коли я прошу їх сказати мені причини, чому я отримую лише " Стандарт кодування так говорить " або " Це заплутано ". Коли вони показують мені рішення з одним твердженням …

19
Чи слід повертатися з функції рано чи використовувати оператор if? [зачинено]
Я часто писав подібну функцію в обох форматах, і мені було цікаво, чи є один формат кращим перед іншим, і чому. public void SomeFunction(bool someCondition) { if (someCondition) { // Do Something } } або public void SomeFunction(bool someCondition) { if (!someCondition) return; // Do Something } Я зазвичай кодую …

20
Чи погані практики програмування `break 'та` continue`?
Мій начальник постійно згадує, що погані програмісти використовують breakі continueв циклі. Я їх постійно використовую, бо вони мають сенс; дозвольте показати вам натхнення: function verify(object) { if (object->value < 0) return false; if (object->value > object->max_value) return false; if (object->name == "") return false; ... } Суть у тому, що …

4
Чому для пробного лову потрібні дужки?
На різних мовах (принаймні Java, думаю, також C #?) Ви можете робити такі речі if( condition ) singleStatement; while( condition ) singleStatement; for( var; condition; increment ) singleStatement; Тож, коли у мене є лише одне твердження, мені не потрібно додавати нову область { }. Чому я не можу зробити це …

8
Чому Clang / LLVM попереджає мене про використання за замовчуванням у операторі комутатора, де охоплені всі перелічені випадки?
Розглянемо наступне твердження enum and switch: typedef enum { MaskValueUno, MaskValueDos } testingMask; void myFunction(testingMask theMask) { switch (theMask) { case MaskValueUno: {}// deal with it case MaskValueDos: {}// deal with it default: {} //deal with an unexpected or uninitialized value } }; Я програміст Objective-C, але це я написав …

2
Чому Скала повертається, але не ламається і продовжує
У Scala немає breakабо continue, отже, певна поведінка циклу вимагає трохи більше мислення. Закінчення циклу достроково вимагає рекурсії хвоста, винятку або scala.util.control.Breaks(що використовує винятки). Обґрунтуванням цього є те, що, мовляв, gotoвони є проточними конструкціями, які затьмарюють потік, і можуть бути виконані кращими, менш дивними способами. Але, схоже, ці самі аргументи …

22
Які корисні альтернативні структури управління ви знаєте? [зачинено]
Наразі це запитання не підходить для нашого формату запитань. Ми очікуємо, що відповіді будуть підкріплені фактами, посиланнями або експертними знаннями, але це питання, ймовірно, вимагатиме дискусій, аргументів, опитувань чи розширеної дискусії. Якщо ви вважаєте, що це питання можна вдосконалити та, можливо, знову відкрити, відвідайте довідковий центр для ознайомлення . Закрито …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.