|   |   | 
| 
 | Понятно ли тебе как упрощаются логические выражения "Ложь Или А" и "Истина И Б"? | ☑ | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0
    
        TormozIT гуру 05.11.17✎ 09:09 | 
 
        Прошу не писать упрощенные варианты выражений, а выбрать вариант ответа из опроса. Это важно для меня, чтобы лучше оценить усложнение чтения логических выражений от применения в них таких фрагментов.     | ||||||||||
| 89
    
        wondkind 08.11.17✎ 06:52 | 
        И то потому что не понял шо от меня требуется     Понятно, но думал более 10 сек | ||||||||||
| 90
    
        alkov 08.11.17✎ 06:53 | Сразу понятно | ||||||||||
| 91
    
        TormozIT гуру 08.11.17✎ 08:44 | 
        (86)
 "опрос составлен не вполне корректно" Согласен, что варианты 2 и 3 могут быть обидными кому то и потому они могут просто воздержаться от ответа. Может быть у тебя есть идеи, как сформулировать так, чтобы было менее обидно (как сделать его "вполне корректно")? Если нет, то получается, что твоя критика не вполне корректна =) | ||||||||||
| 92
    
        TormozIT гуру 08.11.17✎ 08:46 | 
        (87) Как раз меня интересует больше всего категория программистов 1С.     | ||||||||||
| 93
    
        FIXXXL 08.11.17✎ 09:14 | 
        (83) просто я пишу с оглядкой на отдел админов, которым потом мой код сопровождать :)
 они точно не будут себе мозг полировать на таких выражениях, а скинут задачу на меня. оно мне надо? :) без обид, но если такую колбасу нельзя разложить в удобоваримый для глаз и мозга текст, значит что-то с архитектурой не то можно и "колбасить", если выхода нет. но я предпочитаю такое прятать под капот функции с ясным-понятным названием тупо держать в голове цепочку бизнес-процесса плюс конкретный разбираемый глюк и еще с листа высчитывать "колбасы" условий - утомительно старею наверное. чем проще - тем лучше :) | ||||||||||
| 94
    
        mszsuz 08.11.17✎ 09:25 | 
        Можно, конечно, привыкнуть, но только ради оформления считаю лишним.     Не понятно | ||||||||||
| 95
    
        xxTANATORxx 08.11.17✎ 09:31 | 
        вот это 
 Если Ложь
обычно пишу так НаборКолонок = НовыйСоотвтетствие(4, 5, 7, 25,58,100500);//Сделан конструкттор
Не понятно | ||||||||||
| 96
    
        TormozIT гуру 08.11.17✎ 09:33 | 
        (93), (94), (95) Снова прошу отвечать на опрос, а не на мою статью. Про статью я написал, как отправную точку возникновения опроса. В постановке вопроса (0) я же не прошу отвечать применительно к моей методике. Меня интересует время которое программисты 1С в среднем тратят на понимание таких фрагментов выражений.     | ||||||||||
| 97
    
        Мыш 08.11.17✎ 09:35 | 
        Удобно для структурирования сложных условий, с количеством элементов более трех. Если до трех - проще без такого.     Сразу понятно | ||||||||||
| 98
    
        mikeA 08.11.17✎ 09:43 | 
        (95) Может массив вместо соответствия?     | ||||||||||
| 99
    
        Smile 8D 08.11.17✎ 09:44 | 
        Идею вроде понял. Сам форматирую сложные выражения только переносами строк и отступами. Возможно, что не так часто приходится комментировать отдельные условия, поэтому задумываться над введением дополнительных "Ложь" и "Истина" не приходилось.     Сразу понятно | ||||||||||
| 100
    
        FIXXXL 08.11.17✎ 09:51 | 
        (98) с соответствием изящнее выходит, чем .Найти в массиве :)     | ||||||||||
| 101
    
        Мыш 08.11.17✎ 10:06 | 
        (95), (100) Это частный случай.     | ||||||||||
| 102
    
        Веселый собака 08.11.17✎ 10:08 | 
        А почему, собственно, такой вопрос у ТС?
 Начинающий? Сразу понятно | ||||||||||
| 103
    
        TormozIT гуру 08.11.17✎ 10:23 | 
        (102) Предыстория в (10)     | ||||||||||
| 104
    
        Radkt 08.11.17✎ 10:35 | 
        понятно, сек 10 думал     Сразу понятно | ||||||||||
| 105
    
        dezss 08.11.17✎ 10:38 | 
        А что тут непонятного?     Сразу понятно | ||||||||||
| 106
    
        Renium 08.11.17✎ 10:45 | 
        1. Сразу понятно     | ||||||||||
| 107
    
        mr_K 08.11.17✎ 10:45 | 
        Я дольше думал над вопросом: а над чем вообще тут думать)
 Сам терпеть не могу такое. Идеально все приводить к "А и Б и...и N" | ||||||||||
| 108
    
        singlych 08.11.17✎ 10:48 | 
        Ну, не то чтобы сразу. Какое-то время я бы думал, зачем это и как это переделать.     Сразу понятно | ||||||||||
| 109
    
        dezss 08.11.17✎ 10:59 | 
        (105) слегка почитал комменты.
 Согласен с теми, кто говорит про бредовость добавления Истина, Ложь в логические выражения. В 1С можно писать по русски, поэтому надо правильно называть переменный и текст читается как просто предложение, понятное для восприятия....просто надо писать по-русски. А зачем скобки перед (А И Б) я так и не понял. | ||||||||||
| 110
    
        Numerus Mikhail 08.11.17✎ 11:11 | 
        Думал минуты 2, искал в чем подвох.
 Не нашел подвох. Понятно, но думал более 10 сек | ||||||||||
| 111
    
        Numerus Mikhail 08.11.17✎ 11:14 | 
        Прочитал статью и комментарии, но так и не понял, зачем добавлять константы, которые никак не влияют на результат.     | ||||||||||
| 112
    
        Smile 8D 08.11.17✎ 11:18 | 
        (111) в (44) расписали плюсы. Вот примеры:
 Если Ложь //Вот здесь можно указывать комментарий для всего блока //Или НомерИзменяемойКолонки = "4" - можно вот так комментировать даже первое условие при отладке, не дописывая для этого лишнего Или НомерИзменяемойКолонки = "5" Или НомерИзменяемойКолонки = "7" Или (Истина И НомерИзменяемойКолонки = "8" И ГруппаРасчета = мИдГруппы7) В (99) я уже расписал, что крайне редко встречаюсь с необходимостью в этих плюсах, поэтому не использую такой подход. | ||||||||||
| 113
    
        mikeA 08.11.17✎ 11:25 | 
        (91) Я бы формулировал вопрос таким образом, чтобы понять, приемлемо ли вообще использование такой конструкции. Подозреваю что это и является конечной целью опроса)
 Человек может понимать такое и сразу, но при этом каждый раз "плеваться". Кроме того сложности с пониманием могут быть связаны не с интерпретацией правил логики, а с поиском скрытого смысла в подобной конструкции. (102) Спасибо, поржал))) | ||||||||||
| 114
    
        Numerus Mikhail 08.11.17✎ 11:26 | 
        (112) Спасибо, пропустил этот пост
 Сомнительные плюсы, если честно. Ни разу не сталкивался с таким и не планирую использовать это. | ||||||||||
| 115
    
        dezss 08.11.17✎ 11:27 | 
        (112) а нафига обрамлять скобками блок, в котором присутствует только И?     | ||||||||||
| 116
    
        Smile 8D 08.11.17✎ 11:29 | 
        (115) Для наглядности и простоты восприятия, скорее всего. Это пример автора, я добавил комментарии, чтобы показать нагляно описанной в (44).     | ||||||||||
| 117
    
        dezss 08.11.17✎ 11:30 | 
        (116) странная наглядность.
 ИМХО, когда увеличивают количество скобок, все только сильней запутывается. | ||||||||||
| 118
    
        Numerus Mikhail 08.11.17✎ 11:33 | 
        (117) Нет, в примере из (112) вполне наглядно взят в скобки отдельный блок. Для читаемости это наоборот удобнее     | ||||||||||
| 119
    
        TormozIT гуру 08.11.17✎ 11:35 | 
        (116) Да, для этого и еще для единообразия. Не все знают приоритеты логических операций. Также бывает, что нужно заменить И на ИЛИ НЕ.     | ||||||||||
| 120
    
        dezss 08.11.17✎ 11:39 | 
        (118) любое сочетание И будет отдельным блоком и так.
 А в результате могут появится монструозные конструкции с пятью закрывающими скобками в конце. (119) Для единообразия так же их можно и не использовать...будет вполне себе единообразно. А тот, кто не знает приоритетов лог. операций, может посмотреть об этом в инете. Вот когда надо будет заменить, тогда скобки и поставить можно) | ||||||||||
| 121
    
        DeeK 08.11.17✎ 11:42 | 
        все понятно, но наркоманство какое-то     Сразу понятно | ||||||||||
| 122
    
        тарам пам пам 08.11.17✎ 11:43 | 
        Выражение понятно через пару секунд; если привыкнуть - будет понятно мгновенно.
 Однако считаю такое оформление кода некорректным - потому что есть code-style от 1с, по которому оформлены все типовые конфигурации. А так как работа идет в 90% случаев с типовыми, то именно стандартный стиль кода воспринимается быстрее всего, и код "нетипового" разработчика также будет воспринят быстрее, если он будет написан в соответствии со стандартами от 1с. Сразу понятно | ||||||||||
| 123
    
        TormozIT гуру 08.11.17✎ 11:51 | 
        Примечательно, что методика (10) родилась в моей голове именно потому, что я запарился разбираться в сложных условиях не только своего но и чужого кода, в т.ч. "типового". Мне нужен был стиль записи логических выражений любой сложности, который позволит мне сразу (пусть и после некоторого привыкания) видеть всю структуру выражения "как на ладони", легко отлаживать, оптимизировать, менять порядок частей и комментировать их.     | ||||||||||
| 124
    
        dezss 08.11.17✎ 11:59 | 
        (123) ИМХО, в таком случае должно быть достаточно правильных отступов, не более того     | ||||||||||
| 125
    
        Трипиэль 08.11.17✎ 12:10 | 
        (84) да, понимаю. думал меньше 10 секунд. мусором это считаю потому, никакой смысловой нагрузки данный кусок не несёт. весь код должен быть функциональным, это же не сочинение на свободную тему. считаю, что программист, читая код не должен думать, что вот это полезный код, а вот это воткнули для оформления, потому что кто-то не в силах без таких конструкций понять условие. короче, раздувательство кода.     | ||||||||||
| 126
    
        DexterMorgan 08.11.17✎ 12:41 | 
        Епт, только в (112) дошло зачем это нужно =)
 Я теперь тоже буду так делать! | ||||||||||
| 127
    
        DexterMorgan 08.11.17✎ 12:42 | 
        (123) Да ты вообще красавчик     | ||||||||||
| 128
    
        DexterMorgan 08.11.17✎ 12:52 | 
        (125) Ты не прав, код должен быть читаемым. по твоему нефиг оформлять отдельную функцию, если она используется однажды?     | ||||||||||
| 129
    
        Трипиэль 08.11.17✎ 13:29 | 
        (128) я написал своё мнение, в котором ни одним словом не сказал, что код не должен быть читаемым. я знаю и использую другие способы это сделать, нежели лепить Истину и Ложь в условные операторы, до меня уже всё написали. и с тобой согласен: код должен быть читаемым, поэтому вместо того, чтобы добавлять ничего не значащие конструкции, лучше сделать отдельную функцию, которая будет использоваться однажды.
 вообще, сложные нечитаемые условия, по моему скромному мнению, часто являются признаком плохой архитектуры или плохого кода. у меня в работе они встречаются настолько редко, что я даже не задумывался о том, до чего дошёл автор. лечить надо не симптомы, а причины. | ||||||||||
| 130
    
        senior 08.11.17✎ 13:43 | 
        _     Сразу понятно | ||||||||||
| 131
    
        Basilio 08.11.17✎ 13:45 | 
        (0) Понятно, но нахрен не нужно. ИМХО.     Сразу понятно | ||||||||||
| 132
    
        DexterMorgan 08.11.17✎ 14:04 | 
        (129) Смотря как на это посмотреть, действительно есть аналогия с отбором компоновщика: Ложь - "Группа ИЛИ", Истина - "Группа И", ну лично мне подход понравился     | ||||||||||
| 133
    
        glebgleb 08.11.17✎ 14:16 | 
        Понятно     Сразу понятно | ||||||||||
| 134
    
        uno-group 08.11.17✎ 14:36 | 
        Имхо ложь вообще не читаемо. как по мне Гораздо читаемей в иначе действия запихнуть.
 И вопрос не понятности кода, а скорости его чтения и уменьшения возможной ошибки при быстром просмотре кода. Не понятно | ||||||||||
| 135
    
        TormozIT гуру 09.11.17✎ 15:06 | 
        (134) Как "Иначе" может заменить "Ложь Или А"? Или что ты имел ввиду?     | ||||||||||
| 136
    
        lubitelxml 09.11.17✎ 15:27 | 
        Не мне не нужно, особо не сталкивался с такими выражениями в типовых     Сразу понятно | ||||||||||
| 137
    
        mistеr 09.11.17✎ 16:15 | 
        (10) Любые дополнительные члены в выражении требуют дополнительных мысленных усилий. Это не только усложняет понимание (пцсть ненамного), но и замедляет чтение кода и отвлекает от основной мысли, что более важно.
 Поэтому, хоть система и-или дереви и неплоха, но я против ее широкого применения в таком виде. Я бы предложил заметить "Ложь ИЛИ" и "Истина И" на пробелы с сохранением форматирования. Сразу понятно | ||||||||||
| 138
    
        ManyakRus 09.11.17✎ 17:07 | 
        на инфостарте выложили то же самое недавно
 http://catalog.mista.ru/public/152801/ надо писать 1=1 или 0=1 :) | ||||||||||
| 139
    
        TormozIT гуру 09.11.17✎ 17:21 | 
        (138) То же самое по отношению к чему?     | ||||||||||
| 140
    
        vvp91 09.11.17✎ 17:27 | 
        (0) Короче, Сережа, не парься - тебя не поняли - да и душ с ним.
 Что ты хочешь от "простого Одинэсника". Тут на нимфослете кто-то выдал за божественное откровение кривой отказ от рекурсивного вызова процедур, чему учат на первых курсах теории алгоритмов. Надо проще быть. Да будет "свет", сказал монтер, и тряпкой лампочку протер. Вот и вся необходимость. | ||||||||||
| 141
    
        mistеr 09.11.17✎ 17:46 | 
        (139) Та же самая ссылка, которую ты дал в (10)  :)     | ||||||||||
| 142
    
        TormozIT гуру 09.11.17✎ 17:59 | 
        (141) 5 лет все таки не укладывается в "недавно", это уверенное "давно" =)     | ||||||||||
| 143
    
        mistеr 09.11.17✎ 18:09 | 
        (142) Надо читать как "недавно я наткнулся" )     | ||||||||||
| 144
    
        Вафель 09.11.17✎ 18:50 | 
        Последнюю скобку тоже нужно переносить     | ||||||||||
| 145
    
        DomovoiAtakue 09.11.17✎ 19:36 | 
        В вопросе спрашивают знание составления логических выражений, а в теме разбирают как оформлять их. Так в чем вопрос то?
 По поводу оформления: сходите в школу, универ там все уже давно придумано. 1)По поводу скобок - главное чтоб не было недостатка. а так хоть каждое условие выделяйте в скобки, нормальный человек легко это читает. (не говоря уже о том, что есть отладчик и я вообще не помню когда вникал что там в этих условиях написано) 2)"Тогда" не переносится на новую строку - что за новшества раздувать код и убивать читабельность? 3)Мастерить в виде дерева - вам делать нечего? Строчите быстрее и все. Сложные условия редко когда бывают из 5 блоков, а это читается мгновенно. Чем люди только не занимаются, чтоб только ничего не делать :) Сразу понятно | ||||||||||
| 146
    
        mistеr 09.11.17✎ 19:50 | 
        (145) Для меня "Тогда" на новой строке при сложном многострочном выражении — плюс к читабельности. Жаль, что автооступ в пофигураторе так не считает.     | ||||||||||
| 147
    
        Franchiser 09.11.17✎ 23:46 | 
        На практике не стоит писать такие запутанные условия, проще воспринимается вхождение в массив.     Сразу понятно | ||||||||||
| 148
    
        TormozIT гуру 10.11.17✎ 00:29 | 
        (147) Запутанными выглядят только сложные условия записанные без четкой системы. К тому же мы не только пишем сложные условия, но и читаем чужие. При чтении методика позволяет, не вникая в смысл произвольного сложного выражения, быстро переписать/переоформить в знакомый стиль.     | ||||||||||
| 149
    
        youalex 10.11.17✎ 03:57 | 
        Это настолько просто, что сначала кажется сложным. 
 Если подобные выражения будут являться частью стиля, то после кратковременного привыкания будут восприниматься нативно. зы. Сам использую подобное, но как, условно Если СкорееВсегоЛожьНоНеФактИВообщеНаВсякийСлучай Тогда Иначе //чтототам КонецЕсли; Понятно, но думал более 10 сек | ||||||||||
| 150
    
        mikeA 10.11.17✎ 04:28 | 
        (140) Понять-то поняли, только большинство считает что каких-то существенных преимуществ это не даёт. Вроде и так всё понятно, когда отформатированно.     | ||||||||||
| 151
    
        Мимохожий Однако 10.11.17✎ 06:51 | 
        Много секунд потратил, чтобы прочитать ветку и понять для чего эта дискуссия. Не понял )) Главное-чтобы код был рабочим. А сложные условия лучше сделать отдельной функцией с подробным комментарием.     Понятно, но думал более 10 сек | ||||||||||
| 152
    
        PCcomCat 10.11.17✎ 08:33 | 
        Понятно, конечно, но не сразу. Когда с таким сталкиваешься не часто, то вызывает раздумья. Ну а когда постоянно в процессе работы, то уже не заметишь разницы.     Не понятно | ||||||||||
| 153
    
        IvaneS 10.11.17✎ 08:39 | 
        (0) Выявляете какой конструкцией создать алгоритм, чтобы сторонним править было сложно, каждый выбирает свой стиль.     Не понятно | ||||||||||
| 154
    
        TormozIT гуру 10.11.17✎ 09:02 | 
        (152) Тогда логичнее было бы выбрать вариант 2, а не 3.     | ||||||||||
| 155
    
        Йохохо 10.11.17✎ 09:04 | 
        (151) нотация или формализм записи сложных условий так, чтобы привычному к нотации человеку было легко это условие понять. С отступами и переносами, с автором и апологетами
 ЗЫ В общем приятный конечно способ, но не без фанатизма | ||||||||||
| 156
    
        PCcomCat 10.11.17✎ 09:11 | 
        (152) Понятно - это когда понятно, а тут думать пришлось.))     | ||||||||||
| 157
    
        PCcomCat 10.11.17✎ 09:12 | 
        (156) к (154)     | ||||||||||
| 158
    
        IvaneS 10.11.17✎ 10:06 | 
        (154) Если выбрал такой почерк, то придерживайся... Главное команда положительно относился. А то могут сказать, что Сережин код я не могу читать)))     | ||||||||||
| 159
    
        TormozIT гуру 10.11.17✎ 10:10 | 
        (158) Какой почерк? В (154) я писал про нелогичный выбор варианта ответа в сообщении (152).     | ||||||||||
| 160
    
        bolder 10.11.17✎ 11:12 | 
        (0) Если все это для возможности простого коммента условия- то излишние сущности.     Понятно, но думал более 10 сек | ||||||||||
| 161
    
        TormozIT гуру 10.11.17✎ 11:22 | 
        (160) Можешь обосновать? Покажи как ты комментируешь части сложных логических выражений.     | ||||||||||
| 162
    
        zzzzz 10.11.17✎ 11:26 | 
        Не забываем о следующих выражениях...
 Если А Тогда ... ИначеЕсли А=Ложь тогда ... Иначе ... КонецЕсли; | ||||||||||
| 163
    
        TormozIT гуру 10.11.17✎ 11:30 | 
        (162) Да, вечная им память во веки веков.     | ||||||||||
| 164
    
        bolder 10.11.17✎ 12:44 | 
        (161) Все гораздо проще)В данной ветке невозможно зарегистрироваться с другого устройства:регистрация пропадает.А Вы про сложные логические условия))     | ||||||||||
| 165
    
        bolder 10.11.17✎ 12:50 | 
        (161) 
 Вот такой пример, почти из типовой <code> Отчет =Новый Структура("Группировка,ДополнительныеПоля",1,1); // 1 и типовой вариант Если Отчет.Свойство("Группировка") И Отчет.Свойство("ДополнительныеПоля") Тогда //ЗаполнитьДополнительныеПоляИзНастроек(Отчет.КомпоновщикНастроек, Отчет.ДополнительныеПоля, Отчет.Группировка); Сообщить("Истина!"); КонецЕсли; //2 вариант предлагаемый Если Ложь ИЛИ ( ИСТИНА И Отчет.Свойство("Группировка") И Отчет.Свойство("ДополнительныеПоля") ) Тогда //ЗаполнитьДополнительныеПоляИзНастроек(Отчет.КомпоновщикНастроек, Отчет.ДополнительныеПоля, Отчет.Группировка); Сообщить("Истина!"); КонецЕсли; // 3 вариант легко получаемый из 1 Если Отчет.Свойство("Группировка") И Отчет.Свойство("ДополнительныеПоля") Тогда //ЗаполнитьДополнительныеПоляИзНастроек(Отчет.КомпоновщикНастроек, Отчет.ДополнительныеПоля, Отчет.Группировка); Сообщить("Истина!"); КонецЕсли; // 4 вариант для перфекционистов Если Отчет.Свойство("Группировка") И Отчет.Свойство("ДополнительныеПоля") Тогда //ЗаполнитьДополнительныеПоляИзНастроек(Отчет.КомпоновщикНастроек, Отчет.ДополнительныеПоля, Отчет.Группировка); Сообщить("Истина!"); КонецЕсли; </code> | ||||||||||
| 166
    
        EvgeniuXP 10.11.17✎ 12:52 | 
        (18) если до красоты дошло, то так красивее:
 Если Ложь ИЛИ Условие1 ИЛИ Условие2 ИЛИ и т.д. Тогда ... КонецЕсли; | ||||||||||
| 167
    
        bolder 10.11.17✎ 13:00 | 
        (166) Так я и пишу, что для удобства комментов только и нужно.А читаемость лучше не становится.Смотрим (165) пример 2.Намного же хуже типового в примере1 (165)!     | ||||||||||
| 168
    
        TormozIT гуру 10.11.17✎ 13:02 | 
        (165) Ты как то очень буквально понял методику. Зачем сверху делать группу-ИЛИ если внутри нее только один элемент? Это не моя методика =)     | ||||||||||
| 169
    
        TormozIT гуру 10.11.17✎ 13:03 | 
        (167) Пример то не соответствует методике.     | ||||||||||
| 170
    
        bolder 10.11.17✎ 13:08 | 
        (169) Можно и два элемента написать с ИЛИ)
 <code> Отчет =Новый Структура("Группировка,ДополнительныеПоля",1,0); Состояние =Новый Структура("Включено,Ожидает",1,1); Если Ложь ИЛИ ( ИСТИНА И Отчет.Свойство("Группировка") И Отчет.Свойство("ДополнительныеПоля") ) ИЛИ ( ИСТИНА И Состояние.Свойство("Включено") И Состояние.Свойство("Ожидает") ) Тогда //ЗаполнитьДополнительныеПоляИзНастроек(Отчет.КомпоновщикНастроек, Отчет.ДополнительныеПоля, Отчет.Группировка); Сообщить("Истина - 2!"); КонецЕсли; </code> | ||||||||||
| 171
    
        EvgeniuXP 10.11.17✎ 13:18 | 
        (170) пример не удачен, от верхних Ложь можно избавиться.     | ||||||||||
| 172
    
        TormozIT гуру 10.11.17✎ 13:23 | 
        (170) Теперь это подходит под мою методику, но ты забыл сравнить новое выражение с остальными вариантами. Случайно ли? =)     | ||||||||||
| 173
    
        Peltzer 10.11.17✎ 13:24 | 
        Легко     Сразу понятно | ||||||||||
| 174
    
        bolder 10.11.17✎ 13:24 | 
        (171) А на синтаксическую ошибку не желаете нарваться?Перед ИЛИ должен быть операнд или вы первый элемент сложного ИЛИ без ИЛИ предлагаете? С Ложь все однообразно.     | ||||||||||
| 175
    
        bolder 10.11.17✎ 13:26 | 
        (172) Уже нет времени)...     | ||||||||||
| 176
    
        TormozIT гуру 10.11.17✎ 13:48 | 
        (175) Ну мне тут нечем крыть. Признаю поражение.     | ||||||||||
| 177
    
        Fannasankh 10.11.17✎ 14:22 | 
        Не понятно зачем упрощать логические выражения. Ради оптимизации или зачем? Оптимизация сомнительна, а восприятие ухудшается.     | ||||||||||
| 178
    
        mistеr 10.11.17✎ 16:55 | 
        На самом деле плюс в возможности легкого комментирования частей выражения — это действительно плюс. Я постоянно использовал такой стиль, когда основным языком был SQL (был такой период). Кое-где это даже включалось в корпоративные стандарты. Но там это больше от бедности: в SQL ты не можешь, за редкими исключениями, оформить части выражения в виде функций, ввести дополнительные булевы переменные и т.д. А если и можешь, то не станешь этого делать по соображениям производительности.
 Язык 1С конечно не верх выразительности, но от этих напастей в основном избавлен. Поэтому я за то, чтобы всячески упрощать монструозные многоуровневые много-вложенные логические конструкции, а не изобретать методы управления ими. P.S. Кроме прочего, предложенная структура выражений упрощает кодогенерацию. Но в 1С это не актуально. | ||||||||||
| 179
    
        DomovoiAtakue 11.11.17✎ 14:06 | 
        Вот смотрю и думаю почему табуляциями не выделены условия и "Тогда"? 1с же вроде выделяет, или вы как-то перенастраиваете табуляцию или это само собой разумеется, просто на это не отвлекаются? Т.е. должно быть так:
 Если Ложь ИЛИ ( ИСТИНА И Отчет.Свойство("Группировка") И Отчет.Свойство("ДополнительныеПоля") ) ИЛИ ( ИСТИНА И Состояние.Свойство("Включено") И Состояние.Свойство("Ожидает") ) Тогда Сообщить("Истина - 2!"); КонецЕсли; | ||||||||||
| 180
    
        TormozIT гуру 11.11.17✎ 20:40 | 
        (179) Видимо ты под "табуляцией" имел ввиду "автоформтирование" и "автоотступ". Действительно, они не знают про такую методику. Поэтому приходится табуляции вручную расставлять.     | ||||||||||
| 181
    
        DomovoiAtakue 12.11.17✎ 15:27 | 
        (180)Получается alt+shift+f уже не попользоваться? Если да, то с этого надо было начинать придумывание своего стиля оформления. Одно дело табулировать вручную условие, а другое всю процедуру, в которой встречается данное условие.     | ||||||||||
| 182
    
        TormozIT гуру 12.11.17✎ 16:00 | 
        (181) Автоформатированием я лично пользуюсь очень редко. Видимо уже привык. Автоформатирование будет ломать многие стили записи многострочных конструкций, т.к. не понимает их специфики. 
 В основном я страдаю от применения автоформатирования при вынесении метода (рефакторинг). В этом действии оно принудительное. | ||||||||||
| 183
    
        DomovoiAtakue 12.11.17✎ 18:59 | 
        (182)"Автоформатирование будет ломать многие стили записи многострочных конструкций"
 Я бы задумался о правильности их построения. Вы представляете какого будет программировать с вами в паре или после вас другим? Может быть ваши коллеги не зря возмущаются? | ||||||||||
| 184
    
        TormozIT гуру 12.11.17✎ 19:56 | 
        (183) В (10) я описал основные замечания коллег. Они не включали автоформатирование. Я и не утверждал, что коллеги зря возмущаются. Я хотел понять картину на большей выборке программистов. 
 Про многие стили многострочных конструкций я писал не только про свои. Даже в этой теме и в комментариях к моей статье приводились другие стили, которые тоже будут ломаться автоформатированием. Поэтому не стоит все валить на меня =) | ||||||||||
| 185
    
        DomovoiAtakue 12.11.17✎ 20:22 | 
        (184)Я не валю, я рассуждаю.     | ||||||||||
| 186
    
        DomovoiAtakue 12.11.17✎ 20:34 | 
        А зачем вообще вы пишите выражения как в заголовке?     | ||||||||||
| 187
    
        Елена Троянская 12.11.17✎ 22:47 | 
        Непривычно, неудобно.     Понятно, но думал более 10 сек | ||||||||||
| 188
    
        Митяйский 13.11.17✎ 09:17 | 
        да     Сразу понятно | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |