#0
by svsvsv
Уважаемые коллеги! Есть ли у вас какие-то правила (для себя) по использованию тернарных операторов определенного уровня вложенности? (например, не использовать тернарный оператор внутри тернарного оператора). И вообще, используете ли вы его? Наткнулся на следующее Г, поэтому и возник вопрос:
#3
by azernot
Использую. Регулярно. В т.ч. вложенные. Как правило при формировании какой-либо строки (например, текста запроса). Но бывает и подобное , если есть чёткое булево условия как в , то почему бы и нет?
#6
by svsvsv
Он читабельный, т.к. на мисте шрифт мельче, чем в конфигураторе (скажем, EDT-style) В конфигураторе это 176 символов, не помещается в экран
#9
by svsvsv
я и отрефакторил в функцию. Еще заменил "?" на "Если", а то не очень удобно смотреть, хоть и в одну строчку
#11
by Fedor-1971
нормально читается так: При рефакторинге имеет смысл переделывать на Если ... КонецЕсли;
#13
by vde69
Вы не правы, все три присвоения никогда не выполняются все вместе... а из плюсов - любой из трех результатов наглядно записан в виде одной строчки, это примерно как case в других языках
#23
by drcrasher
да. у них вообще много интересных требований к коду, сначала плеваться тянет, потом втягиваешься и даже логичность некоторая видна
#24
by Asmody
1С может ходить нахер. Или пусть опубликуют codestyle. В таком стиле ты никогда не пропустишь и не забудешь запятую.
#26
by Сти
Это хорошо, когда платят за количество строк кода. Как по мне, так чем более кратко, тем лучше. После Perl, наверное )))
#32
by Asmody
1С вообще сделали этот как-бы , каковой он не является. Зато в 7.7 с его помощью делалась "ленивая" проверка условий.
#33
by тарам пам пам
Использую без вложенных. Пример вполне читабелен, но от вложенного ? я бы все равно избавился.
#35
by Филиал-msk
Особенности реализации стековой машинки, очевидно. Дерево разбора у них ЕМНИП, только в эклипсе и появилось, до этого - тупая попытка компиляции и смотрим что получилось
#37
by mexanik_96
сложные условия обычно объединяют(речь не про 1с) в переменную. Фиксин по моему даже писал где-то об этом
#43
by Лефмихалыч
правило простое - тернарные операторы должны быть простыми и укладываться в голове с одного прочтения. Если приходится читать по частям, то надо рефакторить. Код в топике - УГ, фу так делать
#48
by kittystark
и зачастую, когда в запросе наворотишь условий со всякими И / ИЛИ, да ещещ перевложенными в скобочках, чтоб понимать суть условия приходится делать отступы и потом НЕ ПОЛЬЗОВАТЬСЯ конструктором, чтобы потом вся "логическая"не слетела нах, после его "стандартизации"
#52
by Рэйв
Только если под настроение для прикола могу навернуть:-) А вообще стараюсь если есть вложенность, то использовать Если...Тогда. Потому что потом сам материшься спустя какое то время разгадывая этот ребус:-)
#53
by Ненавижу 1С
А вот если бы в SQL писали бы не select case when x>1000 then y1000 when x>100 then y100 when x>10 then y10 else y0 end as Y а вот так (а ля Си-лайк): select Y = x>1000 ? y1000 : x>100 ? y100 : x>10 ? y10 : y0
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Получить сообщение пользователю
- не выгружаются характеристики в битрикс из УТ
- Отловить событие Динамического списка
- как в запросе плучить глЗначениеПеременной("ВалютаРегламентированногоУчета")
- Пропали виртуальные Com-порты
- Интеграция 1С со Сбербанком по API
- Вывод картинки "галочки" в ТД
- Бухгалтерия 3.0. По какому регистру строится Справка расчет амортизации?
- 1С 8.3.10 зависает при запуске, база SQL
- Информационная база была перемещена или восстановлена (никуда не перемещалась)
- УТ11 оплата бонусными баллами - окно бонусных баллов ведет себя странно
- Отключение неактивных пользователей
- Повторная печать слип-чека Розница
- глюки при вводе адреса после обновления в БП 3.0.52.42
- Отчет СКД. "Срез последних" регистра накопления
- Удалить движения документа с отбором
- Как подключиться отладчиком к COMОбъект("V83.Application")?
- ККМ Спарк 115Ф. Работает с 1С? Есть обр.обслуж., его поддерживающая?
- Атол 11Ф вывести нарастающие итоги в Z-отчете
- Добавление картинки в ячейку Excel из 1с