Вход | Регистрация
 

Зачем такая конструкция? Если Истина И... Если Ложь ИЛИ ... ?

Зачем такая конструкция? Если Истина И... Если Ложь ИЛИ ... ?
Я
   RomaH
 
11.09.20 - 09:07
Если Истина
        И ЗначениеЗаполнено(ЭтотОбъект.Ссылка)
        И Не ЗначениеЗаполнено(ЭтотОбъект.Ссылка.Реквизит)
    Тогда
        Если Ложь
            Или ЭтотОбъект.Реквизит1
            Или Не ЭтотОбъект.Первичный
                И ТипЗнч(ЭтотОбъект.Реквизит2 <> Тип("Число")
        Тогда
            Возврат;
        КонецЕсли;
    КонецЕсли;


на результат не влияет - наглядность?
   craxx
 
1 - 11.09.20 - 09:08
(0) судя по всему вместо ИСТИНА и ЛОЖЬ когда-то были другие выражения, а тому кто переписывал было лень переформатировать строку
   dka80
 
2 - 11.09.20 - 09:10
Это заглушка для тестирования
   RomaH
 
3 - 11.09.20 - 09:11
поискал глобально - в этой конфе не одна такая строчка ... т.е., ИМХО, это "стиль автора"
   RomaH
 
4 - 11.09.20 - 09:11
(2) а как применять?
   вым
 
5 - 11.09.20 - 09:12
в отладке удобно использовать , а при работе уже "Истина" заменяется своими условиями
   dka80
 
6 - 11.09.20 - 09:12
Хотя, может быть, это на случай Неопределено
Например,
Если Переменная... При значении Переменная=Неопределено выдаст ошибку
Если Истина И Переменная... При значении Переменная=Неопределено уже не выдаст
   RomaH
 
7 - 11.09.20 - 09:14
(6)
Преобразование значения к типу Булево не может быть выполнено
{ВнешняяОбработка.ОбновитьСписокПользователейИСертификатов.Форма.Форма.Форма(272)}:    Если Истина И Условие Тогда
   s111
 
8 - 11.09.20 - 09:14
(2) +1. я иногода ставлю 1=1 или 1=2)
   Ботаник Гарден Меран
 
9 - 11.09.20 - 09:14
Для форматирования - удобно добавлять и удалять условия.
И для отладки - Истина быстро можно заменить на Ложь.
   Бешеный заяц
 
10 - 11.09.20 - 09:16
(0) заглушка, или так автору мыслить удобнее, например я не люблю конструкцию "НЕ" плохо мозг это у меня воспринимает поэтому часто делаю сравнение на "Ложь"
   dka80
 
11 - 11.09.20 - 09:16
(7) Да. Фигню написал. Истина И Неопределено дает ошибку тоже. Значит точно заглушка
   вым
 
12 - 11.09.20 - 09:20
в запросах особенно эффективно использовать. в отладке текст запроса не разрывается, а в работе "Истина" меняется на нужное условие
   DrZombi
 
13 - 11.09.20 - 09:23
(0) Все просто.

Если документ не новый, то проверяем у него реквизит.

Далее...

Если Ложь... - Обычно данная конструкция используется для отладки, или когда Заказчик или РП (руководитель проекта) не знает, что хочет от программиста , а вернее от того, как надо реализовать.

...
Давольно все просто и читаемо :)
   DrZombi
 
14 - 11.09.20 - 09:24
(12) +100 :)
   Fedor-1971
 
15 - 11.09.20 - 09:40
(12) В запросах удобно использовать &НечтоДлинноеИМалостьОсмысленное, т.к. Истина может встречаться не там где тебе нужно заменить

(0) Это Включение/выключение условий с сохранением кода, т.е. у тебя есть некое сложное условие, что-бы не помнить "А что там было до того как" или заказчик взял и изменил условия проверки (или логику работы системы), но возможен возврат к старым.
  ставим "Ложь И" (то что было) - сохранили код, но в ветку гарантированно не попадём
  или нужно тупо отправлять по конкретной ветке тогда "Истина ИЛИ"

Как вариант: реализованы несколько разных алгоритмов работы системы, конкретный заказчик сказал "Да будет так" и ему ставим "Истина ИЛИ" на нужную ветку, остальным нормально прокатывает многовариантность
   mikecool
 
16 - 11.09.20 - 09:41
иногда один глупец скажет то, что не понять и сотне мудрецов....
   fisher
 
17 - 11.09.20 - 09:45
(0) Это для удобства рефакторинга - чтобы все "реальные" условия выглядели и форматировались однотипно. Сам подобный стиль не одобряю. Но и не порицаю.
   Вафель
 
18 - 11.09.20 - 09:46
тут удобно что-то закомментить по быстрому
   вым
 
19 - 11.09.20 - 09:47
(18) +100500
   вым
 
20 - 11.09.20 - 09:50
(15) &НечтоДлинноеИМалостьОсмысленное - это дополнительный параметр запроса, в той же консоли его надо будет определять, да и в самом тексте определять, заменять. А так если замена не нужна будет по условиям, то работает по умолчанию
   fisher
 
21 - 11.09.20 - 09:53
(17) + Т.е. тут идет размен маленького wtf на небольшое удобство рефакторинга в ряде случаев. Как по мне - весьма сомнительный размен.
   Bigbro
 
22 - 11.09.20 - 09:57
я бы сказал что это почти наверняка выросло исторически. было многоэтажное условие, затем решили волевым условием что эта ветка должна отрабатываться так всегда.
ну а поскольку руководство не всегда представляет себе последствия решений, а код может быть весьма не прост и доставить непредвиденные нюансы - то программист сохранил все что было вместо замены условий. и вернуться будет возможно и при возникновении непонятных ситуаций найти причину будет проще.
   Fedor-1971
 
23 - 11.09.20 - 09:59
(21) Скорее размен "Целостность кода при доработке" на "Геморой с обновлением конкретного заказчика", при условии, что таких уникумов 1 или 2 из 20
   TormozIT
 
24 - 11.09.20 - 10:01
   вым
 
25 - 11.09.20 - 10:10
(24) красавчик!
долго вспоминал, где же я это читал
   fisher
 
26 - 11.09.20 - 10:10
(24) У тебя там кони-люди. В одной куче и приведение булева выражения к нормальной форме и сабжевый стилистический изыск. Одно с другим напрямую не связано.
   TormozIT
 
27 - 11.09.20 - 10:13
(26) По поводу связи не согласен. Связь довольно явная. Она в статье как раз демонстрируется. А ты 5-ю словами решил опровергнуть это? Слабовато =)
   fisher
 
28 - 11.09.20 - 10:15
(27) Имеющий уши да услышит.
   TormozIT
 
29 - 11.09.20 - 10:16
(28) Желающий быть услышанным сформулирует свою точку зрения так, чтобы слушающие его услышали.
   fisher
 
30 - 11.09.20 - 10:19
(29) "Для повышения наглядности вставляем в начало группы операцию с не нарушающим результат вычисления группы константным значением"
"ДЛЯ ПОВЫШЕНИЯ НАГЛЯДНОСТИ". Очень сильная явная связь. Неоспоримая.
 
 Рекламное место пустует
   fisher
 
31 - 11.09.20 - 10:21
(30) А как по мне, если выкинуть из конечного итога преобразований "константные значения повышения наглядности", то наглядность не только не страдает, но и выигрывает.
   вым
 
32 - 11.09.20 - 10:22
(31) на вкус и цвет фломастеры разные. Стандартов как таковых нет, вас никто не заставляет придерживаться этого правила
   fisher
 
33 - 11.09.20 - 10:24
(32) Я так и писал выше. Что не одобряю этот стиль, но и не порицаю. А спорил с TormozIT в той части, что этот стилистический элемент не имеет прямой связи с приведением булева выражения к нормальной форме.
   fisher
 
34 - 11.09.20 - 10:35
Можно притянуть за уши, что первая булева константа сразу дает понять, какая именно нормальная форма используется - дизъюнктивная или конъюнктивная. Но это именно будет притянуто за уши, ибо это прекрасно видно и без этого.


Список тем форума
Рекламное место пустует  Рекламное место пустует
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.