Size: a a a

Dart & Flutter по-русски

2020 March 16

AN

Artyom Nesterenko in Dart & Flutter по-русски
Evgenii Elchev
но меня честно коробит от кода в стиле
if (someImportant) {
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
} else {
 handleCornerCaseInOneLineOfCode();
}


Я прдепочитаю писать так
if (!someImportant) {
handleCornerCaseInOneLineOfCode();
return;
}

/*логика на много строчек */
Ага, называется early return.
источник

EE

Evgenii Elchev in Dart & Flutter по-русски
Artyom Nesterenko
Ага, называется early return.
ну да)
источник

П

Павел in Dart & Flutter по-русски
ранний возврат само собой отличная практика
источник

П

Павел in Dart & Flutter по-русски
но вот у доков bloc простыня if else if
источник

П

Павел in Dart & Flutter по-русски
вроде как профи)
источник

П

Павел in Dart & Flutter по-русски
может свич с break; хуже смотрится?
источник

EE

Evgenii Elchev in Dart & Flutter по-русски
у нас в swift есть
guard someImportant else { return }
оператор у которого нет блока на выполенение, условия, только else и в нем обязательно надо сделать return иначе не компилится)
источник

A

Aleksey in Dart & Flutter по-русски
Evgenii Elchev
но меня честно коробит от кода в стиле
if (someImportant) {
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
} else {
 handleCornerCaseInOneLineOfCode();
}


Я прдепочитаю писать так
if (!someImportant) {
handleCornerCaseInOneLineOfCode();
return;
}

/*логика на много строчек */
ну тоесть это правило выходить из длинного алгорима в его начале, а не проблемы с else
источник

EE

Evgenii Elchev in Dart & Flutter по-русски
Aleksey
ну тоесть это правило выходить из длинного алгорима в его начале, а не проблемы с else
так я выше написал, что не имею ничего против else
источник

AN

Artyom Nesterenko in Dart & Flutter по-русски
Так смотря как писать if-else. Иначе может получиться, что мы все if будем проходить, если только их использовать, а с if-else нет.
источник

П

Павел in Dart & Flutter по-русски
источник

AN

Artyom Nesterenko in Dart & Flutter по-русски
Evgenii Elchev
у нас в swift есть
guard someImportant else { return }
оператор у которого нет блока на выполенение, условия, только else и в нем обязательно надо сделать return иначе не компилится)
Или упасть вместо return. 😄
источник

П

Павел in Dart & Flutter по-русски
вот пожалуйста)
источник

EE

Evgenii Elchev in Dart & Flutter по-русски
Artyom Nesterenko
Или упасть вместо return. 😄
падение это формально тоже прекрашение дальнейшего выполенения функции)
источник

EE

Evgenii Elchev in Dart & Flutter по-русски
об этом в совершенном коде написано)
источник

EE

Evgenii Elchev in Dart & Flutter по-русски
там кажется обо всем написано)))
источник

AN

Artyom Nesterenko in Dart & Flutter по-русски
В результате он пришёл к early return и guard, который в Swift с этим помогает. 🙂 Претензия не к языку или оператору else должна быть.
источник

AN

Artyom Nesterenko in Dart & Flutter по-русски
Evgenii Elchev
падение это формально тоже прекрашение дальнейшего выполенения функции)
Логично. 😊
источник

M

Mitai in Dart & Flutter по-русски
Evgenii Elchev
об этом в совершенном коде написано)
Макконел?
источник

EE

Evgenii Elchev in Dart & Flutter по-русски
Mitai
Макконел?
Ага
источник