|
![]() |
#1 |
Moderator
|
Ну я бы сказал, что if(a==true) пишут от непонимания и не умения программировать, а switch(true) пишут как раз таки от хорошего понимания того как оператор switch работает и приличного опыта разработки
![]() |
|
![]() |
#2 |
Участник
|
Цитата:
Сообщение от fed
![]() Ну я бы сказал, что if(a==true) пишут от непонимания и не умения программировать, а switch(true) пишут как раз таки от хорошего понимания того как оператор switch работает и приличного опыта разработки
![]() X++: ok = true; if (ok && ...) { ok = false; ... } if (ok && ...) { ok = false; ... }
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
За это сообщение автора поблагодарили: macklakov (1). |
![]() |
#3 |
Участник
|
Мне тоже кажется, что switch(true), в некоторых случаях, повышает удобочитаемость кода.
Только в данном примере других неизящностей хватает: X++: if (_ledgerJournalTrans_Project.CostPrice < 0)
_ledgerJournalTrans_Project.CostPrice = - _ledgerJournalTrans_Project.CostPrice; В одних случаях с нулем сравнивается прямо (что, на мой взгляд более понятно), в других полагаются на приведение числа к логическому типу: X++: _ledgerJournalTrans_Project.Qty == 0 X++: !_ledgerJournalTrans.AmountCurDebit |
|
![]() |
#4 |
Участник
|
Если уж быть совсем занудой, то можно вспомнить теорему Джекопини (точное название не помню), смысл которой в том, что любой алгоритм можно представить всего тремя структурами.
|
|
![]() |
#5 |
Moderator
|
Цитата:
В идеале - нужно было бы добавить в X++ оператор elif или elseif, который бы позволял такие конструкции без вложености писать. Но раз такого оператора нету, остается использовать разные по степени кривости заменители... |
|
![]() |
#6 |
Участник
|
Не согласен. "Фича со switch(true)" не является какой-то лазейкой или брешью в компиляторе. Эта "фича" является прямым следствием возможности использовать в операторе Сase не только константы уровня компиляции, но и динамические структуры. Это преимущество, о котором нужно знать и использовать, а не стыдиться его
![]() |
|
|
За это сообщение автора поблагодарили: db (2). |
|
![]() |
||||
Тема | Ответов | |||
Бага в Query update(true) | 5 | |||
Не срабатывает skipDatabaseLog(true) | 14 | |||
visible(true) и курсор | 6 | |||
recordLevelSecurity(true) | 12 |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|