Имя: Пароль:
1C
1С v8
Понятно ли тебе как упрощаются логические выражения "Ложь Или А" и "Истина И Б"?
,
0 TormozIT
 
гуру
05.11.17
09:09
1. Сразу понятно 64% (36)
2. Не понятно 20% (11)
3. Понятно, но думал более 10 сек 16% (9)
Всего мнений: 56

Прошу не писать упрощенные варианты выражений, а выбрать вариант ответа из опроса. Это важно для меня, чтобы лучше оценить усложнение чтения логических выражений от применения в них таких фрагментов.
6 Asmody
 
05.11.17
11:06
(0) В каком контексте вопрос?
Если речь про алгебру логики, то тут элементарно по определению конъюнкции и дизъюнкции.
Если речь про программирование, то надо уточнять, про какой ЯП идет речь.

Не понятно
12 Dmitry1c
 
05.11.17
13:43
(0) несколько лет назад перестал нормально их понимать, наверное старею

раньше на лету как-то схватывал

Не понятно
53 lamina
 
05.11.17
18:13
Не понятно

Не понятно
81 FIXXXL
 
07.11.17
17:40
"колбаса" из условий, со скобками или без, один хрен нечитабельна
ну собери массив и проверь значение на вхождение в массив
всяко читабельнее и сопровождение проще: поменял "сбор" массива и дальше "оно само"
а тут глаза сломаешь...

Не понятно
82 Трипиэль
 
07.11.17
18:58
мусор какой-то

Не понятно
86 mikeA
 
08.11.17
05:33
1) При всём уважении к автору, на мой взгляд опрос составлен не вполне корректно.
Ответы 2 и 3 выставляют отвечающего идиотом в большей или меньшей степени. Так что те кто потенциально могли бы выбрать эти пункты скорее всего пройдут мимо. Отсюда и высокий рейтинг первого варианта ответа.

2) Не могу сказать что мне СРАЗУ было понятно как упрощаются эти выражения. Конечно десять секунд не думал, может быть секунд пять. Нет, простейшие выражения булевой алгебры посчитались в голове почти мгновенно. Основная часть времени ушла на поиск того что здесь не так)) Сейчас конечно понятно сразу, особенно после прочтения статьи. Поэтому соглашусь с (78), тем кто часто такое использует будет понятно сразу, остальным не факт.

3) На мой взгляд наличие таких конструкций это bad design. Сам больше склоняюсь к варианту с переменными из комментариев к статье:

    Если Ложь
    Или НомерИзменяемойКолонки = "4"
    Или НомерИзменяемойКолонки = "5"
    Или НомерИзменяемойКолонки = "7"
    Или (Истина
        И НомерИзменяемойКолонки = "8"
        И ГруппаРасчета = мИдГруппы7)
    Тогда
        Расчет(ГруппаРасчета);
    КонецЕсли;


Заменить на

    
    ИзменилиРасчетнуюКолонку = (НомерИзменяемойКолонки = "4" Или НомерИзменяемойКолонки = "5" Или НомерИзменяемойКолонки = "7");
    
    ИзменилиКолонку8ИГруппаРасчетаВерная = (НомерИзменяемойКолонки = "8" И ГруппаРасчета = мИдГруппы7);
    
    НеобходимРасчет = ИзменилиРасчетнуюКолонку Или ИзменилиКолонку8ИГруппаРасчетаВерная;
    
    Если НеобходимРасчет Тогда
        Расчет(ГруппаРасчета);
    КонецЕсли;


Ещё позабавил комментарий про техподдержку)))


    Вот представьте, инженер техподдержки, ему 35 лет. Он булеву алгебру учил двадцать лет назад в школе. У него ещё десять заявок в очереди и злой пользователь на линии. И вот он смотрит на ваш код и пытается понять, что же значит ваше семиэтажное выражение.

Поэтому исключительно для статистики ставлю

Не понятно
94 mszsuz
 
08.11.17
09:25
Можно, конечно, привыкнуть, но только ради оформления считаю лишним.

Не понятно
95 xxTANATORxx
 
08.11.17
09:31
вот это
Если Ложь
    Или НомерИзменяемойКолонки = "4"
    Или НомерИзменяемойКолонки = "5"
    Или НомерИзменяемойКолонки = "7"
    Или (Истина
        И НомерИзменяемойКолонки = "8"
        И ГруппаРасчета = мИдГруппы7)
Тогда


обычно пишу так
НаборКолонок = НовыйСоотвтетствие(4, 5, 7, 25,58,100500);//Сделан конструкттор
Если (НаборКолонок[НомерИзменяемойКолонки] <> Неопределено) и (НомерИзменяемойКолонки = "8" и ГруппаРасчета = мИдГруппы7) Тогда

Не понятно
134 uno-group
 
08.11.17
14:36
Имхо ложь вообще не читаемо. как по мне Гораздо читаемей в иначе действия запихнуть.
И вопрос не понятности кода, а скорости его чтения и уменьшения возможной ошибки при быстром просмотре кода.

Не понятно
152 PCcomCat
 
10.11.17
08:33
Понятно, конечно, но не сразу. Когда с таким сталкиваешься не часто, то вызывает раздумья. Ну а когда постоянно в процессе работы, то уже не заметишь разницы.

Не понятно
153 IvaneS
 
10.11.17
08:39
(0) Выявляете какой конструкцией создать алгоритм, чтобы сторонним править было сложно, каждый выбирает свой стиль.

Не понятно
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.