![]() |
|
Понятно ли тебе как упрощаются логические выражения "Ложь Или А" и "Истина И Б"? | ☑ | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
0
TormozIT
гуру
05.11.17
✎
09:09
|
Прошу не писать упрощенные варианты выражений, а выбрать вариант ответа из опроса. Это важно для меня, чтобы лучше оценить усложнение чтения логических выражений от применения в них таких фрагментов.
|
||||||||||
1
Cyberhawk
05.11.17
✎
09:22
|
.
Сразу понятно |
||||||||||
2
megabax
05.11.17
✎
09:36
|
Пришлось построить в уме логическую конструкцию и упросить ее. Секунд 10 за это время, наверное, прошло.
Понятно, но думал более 10 сек |
||||||||||
3
vis_tmp
05.11.17
✎
10:36
|
Это же простейшие условия...
Сразу понятно |
||||||||||
4
vis_tmp
05.11.17
✎
10:36
|
Из чего возник такой вопрос?
|
||||||||||
5
jsmith82
05.11.17
✎
10:37
|
Бывает ещё понятней?!
|
||||||||||
6
Asmody
05.11.17
✎
11:06
|
(0) В каком контексте вопрос?
Если речь про алгебру логики, то тут элементарно по определению конъюнкции и дизъюнкции. Если речь про программирование, то надо уточнять, про какой ЯП идет речь. Не понятно |
||||||||||
7
Брудвар
05.11.17
✎
12:26
|
(0) Элементарно.
Сразу понятно |
||||||||||
8
TormozIT
гуру
05.11.17
✎
12:36
|
(6) Речь в первую очередь про встроенный язык 1С. Интересно, в каких других языках будет непонятно?
|
||||||||||
9
yzimin
05.11.17
✎
12:40
|
это из математической логики
не (А или Б) = не А и не Б не (А и Б) = не А или не Б Сразу понятно |
||||||||||
10
TormozIT
гуру
05.11.17
✎
12:40
|
(4) Вопрос возник из-за замечаний к моей методике оформления сложных логических выражений http://catalog.mista.ru/public/152801/ . По мнению некоторых коллег она затрудняет восприятие/понимание/чтение именно за счет этих фрагментов. Поэтому я решил узнать, какой процент программистов будет испытывать сложности с чтением таких выражений.
|
||||||||||
11
quest
05.11.17
✎
13:37
|
если помнишь логику - то понятно. если не помнишь - то в ступоре.
Сразу понятно |
||||||||||
12
Dmitry1c
05.11.17
✎
13:43
|
(0) несколько лет назад перестал нормально их понимать, наверное старею
раньше на лету как-то схватывал Не понятно |
||||||||||
13
Asmody
05.11.17
✎
13:55
|
(8) Если про 1С, то надо уточнять 7.7 или 8.х, поскольку в них поразному реализовано раскрытие логических условий.
|
||||||||||
14
Владимир Милькин
05.11.17
✎
13:56
|
Всё понятно, но я сам предпочитаю оформлять вот так:
Если ( Условие1 Или Условие2 Или Условие 3 ) Тогда КонецЕсли; Сразу понятно |
||||||||||
15
Злопчинский
05.11.17
✎
14:01
|
(10) мне кажется что нормально у тебя с записью
|
||||||||||
16
Скиурус
05.11.17
✎
14:04
|
(10) Выражение понятно вполне, но с мнением некоторых коллег я полностью согласен - это не упрощение, это ненужное усложнение.
Сразу понятно |
||||||||||
17
vde69
модератор
05.11.17
✎
14:09
|
видимо автор хочет применить функциональный язык в 1с :)
простое упрощение - понятно сразу, если логических операторов будет больше - то не читаемо... то есть сабж имеет право на жизнь в простых выражениях и будет не читабелен в больших условиях... |
||||||||||
18
ildary
05.11.17
✎
14:18
|
(14) мне кажется что красивее будет так:
Если ( Условие1 Или Условие2 Или Условие3 ) Тогда КонецЕсли; |
||||||||||
19
TormozIT
гуру
05.11.17
✎
14:21
|
(13) Не смотря на разницу работы интерпретаторов 7-ки и 8-ки в рассматриваемых выражениях они будут работать одинаково. Если ты не согласен, то поясни в чем по-твоему будет разница.
|
||||||||||
20
TormozIT
гуру
05.11.17
✎
14:22
|
(17) Можешь пояснить, почему будет "не читаемо"?
|
||||||||||
21
TormozIT
гуру
05.11.17
✎
14:34
|
(16)
Про "ненужное" очевидно спорное утверждение, т.к. в статье приведены довольно четкие плюсы. Про "усложнение" непонятно в свете "1. Сразу понятно". Поясни, почему это усложнение, если любой такой фрагмент сразу понятен (не замедляет чтение)? |
||||||||||
22
vde69
модератор
05.11.17
✎
14:43
|
(20) классическим восприятием булевых условий является прочтение с лева на права без выделения блоков с более высоким приоритетом выполнения.
Именно по этому все сложные конструкции принято запихивать в начало условия, а у тебя все наоборото, сначало простое условие - потом сложное |
||||||||||
23
vde69
модератор
05.11.17
✎
14:52
|
(22) + немного добавлю
человек одновременно может воспринимать от 8 до 12 объектов, и примерно 2 секунды для него это "сейчас". если человек тратит на прочтение выражения более 2х сек или в нем более 12 элементов - это уже тяжело для восприятия... Ну а по сколько ты добавляешь операторы "якоря" (истина, ложь), то выражение перестает восприниматься целым и дробится ели оно чуть длиннее чем 2 сек или 12 объектов... зы ничего личного, это психология |
||||||||||
24
VladZ
05.11.17
✎
14:59
|
(10) Лучше так не делать. Усложняет читабельность кода.
|
||||||||||
25
TormozIT
гуру
05.11.17
✎
15:09
|
(24) Наибольшую ценность имеют аргументированные точки зрения. Факт того, что имеет место некоторое усложнение выражения относительно его самого простого вида, я не подвергал и не подвергаю сомнению. Я хочу собрать статистику по величие этого усложнения. Для меня лично это усложнение меркнет на фоне преимуществ, которые дает такая форма для СЛОЖНЫХ логических выражений. Однако я не сразу это понял и потребовалось время чтобы привыкнуть, как и большинству из тех, кто стал применять ее. Поэтому если не сложно, опиши хотя бы в двух словах, в чем ты видишь усложнение читабельности. Но прежде всего ответь на опрос =)
|
||||||||||
26
TormozIT
гуру
05.11.17
✎
15:11
|
(23) "выражение перестает восприниматься целым" эту мысль пока не удалось понять. Ты читал статью и конкретно прием аналогии с отбором компоновки?
|
||||||||||
27
Jofa
05.11.17
✎
15:12
|
(10)Не все прогеры умеют абстрактно мыслить.
Трудностей можно избежать если переменные будут понятно называться. |
||||||||||
28
Jofa
05.11.17
✎
15:13
|
(26) смотри (27)
|
||||||||||
29
TormozIT
гуру
05.11.17
✎
15:13
|
(22) Думаю эти измышления еще менее близки и не менее споры для большинства чем моя методика =)
|
||||||||||
30
TormozIT
гуру
05.11.17
✎
15:14
|
(27) Твою мысль также не понял.
|
||||||||||
31
Jofa
05.11.17
✎
15:16
|
(30)Чего не понятного?
|
||||||||||
32
TormozIT
гуру
05.11.17
✎
15:19
|
(31) Напиши более развернуто. Возможно тогда мне удастся понять, к чему ты это написал.
|
||||||||||
33
VladZ
05.11.17
✎
15:20
|
(25) Как упрощаются - понятно. Я пока не понимаю необходимость в этом. Не нравятся скобки - избавляйся от скобок.
Читай комментарий Валерия К (klinval) 06.09.17 14:43 по ссылке. |
||||||||||
34
Jofa
05.11.17
✎
15:27
|
(32) смотри (22), (23)
|
||||||||||
35
TormozIT
гуру
05.11.17
✎
15:28
|
(33) Вижу, аргументировать утверждение "Усложняет читабельность кода" пока не очень вышло.
|
||||||||||
36
TormozIT
гуру
05.11.17
✎
15:29
|
(34) Смотри (26)
|
||||||||||
37
vde69
модератор
05.11.17
✎
15:35
|
(35) количество операторов увеличилось ???
|
||||||||||
38
TormozIT
гуру
05.11.17
✎
15:38
|
(37) Да, бесспорно.
|
||||||||||
39
vde69
модератор
05.11.17
✎
15:43
|
(38) выращение - одно и количество операторов выросло, значит В ОБЩЕМ случае это усложнение...
разумеется есть частные случаи где это не так :) |
||||||||||
40
vde69
модератор
05.11.17
✎
15:43
|
выращение = выражение
|
||||||||||
41
TormozIT
гуру
05.11.17
✎
15:52
|
(39) Опять же бесспорно да. Так и я писал в (25), что с фактом усложнения я не спорю. Мне хочется понять насколько оно значимо и в чем конкретно каждый его видит. Судя по результатам опроса (0) оно незначительно.
Далее на (26) я так и не получил от тебя ответ. Это заставляет думать, что аналогия с отбором компоновки тебе не известна. На мой взгляд это самый эффективный прием не замечать привнесенное методикой усложнение и более того даже начать видеть упрощение. Упрощение восприятия здесь базируется на появлении простой визуальной структуры выражения, знакомой по дереву отбора компоновки. |
||||||||||
42
ejikbeznojek
05.11.17
✎
15:58
|
Я тугодум)
Понятно, но думал более 10 сек |
||||||||||
43
VladZ
05.11.17
✎
16:05
|
(35) Выражения "Ложь Или" и "Истина и" бьют по мозгам. Вот объясни мне, зачем вводить дополнительную сущность?
Условие в виде: (НомерИзменяемойКолонки = "4") Или (НомерИзменяемойКолонки = "5") Или (НомерИзменяемойКолонки = "7") Или ((НомерИзменяемойКолонки = "8") И (ГруппаРасчета = мИдГруппы7)) И понятно, и читаемо. |
||||||||||
44
TormozIT
гуру
05.11.17
✎
16:15
|
(43) В статье я перечисли все плюсы/преимущества. Но понимая, что большинству лень читать много скорее всего ненужного текста, я перечислю их тут
- повышает наглядность выражения после некоторого привыкания (аналогия с отбором компоновки) - облегчает рефакторинг, т.к. позволяет четко видеть пути упрощения (устранения избыточности) выражения - облегчает отладку, т.к. позволяет быстро комментировать(выключать)/раскомментировать(включать) фрагменты выражения - позволяет дописывать комментарии к каждому узлу дерева - сокращает левые отступы, вложенность условий, количество строк в коде по сравнению с некоторыми другими подходами |
||||||||||
45
VladZ
05.11.17
✎
16:21
|
(44) ты не ответил на мой вопрос. Зачем нужны конструкции "ложь или" и "истина и"? И без них все эти плюсы работают. И добавляется еще один - не нужно привыкать к излишним сущностям.
|
||||||||||
46
TormozIT
гуру
05.11.17
✎
16:35
|
(45) Конструкции нужны для придания первому условию в каждой группе того же начала (отступа и оператора), что и последнему. И снова отсылаю к аналогии с отбором компоновки, которую все упорно игнорируют.
"И без них все эти плюсы работают" Опровергаю 1. наглядность выражения, базирующаяся на аналогии с отбором компоновки исчезает 2. облегчение рефакторинга снижается опять же из-за снижения восприятия структуры выражения в целом. 3. облегчения отладки не будет, т.к. первое условие каждой группы нельзя будет быстро комментирорвать/раскомментировать без разбивки ее на 2 строки 4. комментарии к первому условию в каждой группе будет сложнее писать, т.к. будет непонятно, он относится в целом к группе или к первому условию группы |
||||||||||
47
jsmith82
05.11.17
✎
16:41
|
(10) Я так и делаю
|
||||||||||
48
Брудвар
05.11.17
✎
16:48
|
(46) Все верно. А еще таким способом удобно составлять условия в текстовом виде, например для запросов. Размеры кода сокращаются, логичность повышается.
Если кому-то такая элементарная конструкция режет глаза, то что с ними будет если увидят сложное логическое выражение? Сразу понятно |
||||||||||
49
Злопчинский
05.11.17
✎
17:13
|
Тогда правильно писать
Если что-то Тогда Блок операторов Иначе Блокоператоров КонецЕсли; |
||||||||||
50
Лефмихалыч
05.11.17
✎
17:25
|
у меня по этим сокращениям ч0рный пояс
Сразу понятно |
||||||||||
51
Йохохо
05.11.17
✎
17:51
|
(46)
1 наглядности нет, оператор невозможно удержать в голове, ветвление тем более. То, что значение группы надо "вычислять", всё ломает и отвлекает от предыдущего кода и смысла вообще. 2 рефакторинг сложного Если не нужен, такой Если надо комментить целиком и рефакторить в ИначеЕсли 3 отладка на уровне изменения кода? это не труба, не нужно уже, 21 век 4 проще сделать проще, без нотации 1с не питон, то что кто то придумал отступы, не значит что отступам можно верить. То, что придумана нотация, веры тоже не добавляет. Код будет стоппером |
||||||||||
52
nordbox
05.11.17
✎
17:54
|
Понятно, но думал более 10 сек |
||||||||||
53
lamina
05.11.17
✎
18:13
|
Не понятно
Не понятно |
||||||||||
54
vde69
05.11.17
✎
19:14
|
все-же я не понимаю зачем это нужно
если условие не понятно - его надо вынести в отдельную функцию и не парить мозг людям.... вместо написания Если Ложь Или НомерИзменяемойКолонки = "4" Или НомерИзменяемойКолонки = "5" Или НомерИзменяемойКолонки = "7" Или (Истина И НомерИзменяемойКолонки = "8" И ГруппаРасчета = мИдГруппы7) Тогда спокойно пишем Если НужнаяКолонка("4","5","7","8") Тогда ..... ..... ..... Функция НужнаяКолонка(п1,п2...) Результат = Ложь; Если НомерИзменяемойКолонки = "4" Или НомерИзменяемойКолонки = "5" Или НомерИзменяемойКолонки = "7" Или (Истина И НомерИзменяемойКолонки = "8" И ГруппаРасчета = мИдГруппы7) Тогда Результат = Истина; КонецЕсли; Возврат Результат; КонецФункции |
||||||||||
55
Cyberhawk
05.11.17
✎
19:30
|
(54) Ну как же - комментировать блоки, наример, ну и построковый переход при отладке
|
||||||||||
56
Брудвар
05.11.17
✎
19:33
|
(54) Все верно, только внутри функции нужно условие начать с:
Если Ложь .... |
||||||||||
57
vde69
модератор
05.11.17
✎
19:36
|
(56) да внутри функции - вообще пофик читабельно или нет будет...
|
||||||||||
58
vde69
модератор
05.11.17
✎
19:39
|
(54) + кстати этот прием имеет и огромные плюсы, иногда эту функцию можно вынести в модуль повторного использования, что может существенно повысить скорость выполнения кода
|
||||||||||
59
TormozIT
гуру
05.11.17
✎
19:40
|
(54) Уводишь вопрос в другую плоскость. Мы рассматриваем запись сложного логического выражения независимо от его роли в вышестоящей конструкции. Это может быть Если...Тогда, присвоение, возврат и прочее.
|
||||||||||
60
Горностаев
05.11.17
✎
19:52
|
(0 || A ) & (1 & B) = A & B
Сразу понятно |
||||||||||
61
Брудвар
05.11.17
✎
20:16
|
По результатам голосования пользователи миста разделились на три группы:
1. непонятные 2. очень честные 3. очень тупые |
||||||||||
62
lamina
05.11.17
✎
21:07
|
согласен с vde69, вопрос из разряда: как делать неправильно?
если условие сложное, его нужно переосмыслить, а не не придумывать уродливые конструкции, и интересоваться потом, какое из уродств, менее уродливо. |
||||||||||
63
Брудвар
05.11.17
✎
21:14
|
(62) Он просто не понял.
Если один раз это переосмыслишь, то второй раз будет уже легко читать такое выражение. Оно будет казаться привычным и родным, как своя рука. |
||||||||||
64
Волшебник
модератор
05.11.17
✎
21:25
|
(54) Пишется "всё же"
|
||||||||||
65
Йохохо
05.11.17
✎
21:30
|
(59) "независимо от его роли в вышестоящей конструкции" когда приходится так делать это называется "городить костыли" "лепить ворэраунд", стиль костылей хороший, он всегда хороший, когда есть
|
||||||||||
66
TormozIT
гуру
05.11.17
✎
21:51
|
(63) Красивая аналогия.
|
||||||||||
67
Сияющий Асинхраль
05.11.17
✎
22:06
|
Вариант "Истина И" использую в случае программного построения запросов, когда лень отслеживать где перед условием "И" ставить не надо (первое условие), а где надо, поскольку при наличии "Истина" это самое "И" ставится всегда :-). В других вариантах стараюсь писать условия максимально развернуто, чтобы впоследствии не ломать голову над тем, что написал...
|
||||||||||
68
vde69
модератор
05.11.17
✎
22:51
|
(66) не очень хорошая аналогия...
есть вендор - "1с" вендор пишет в своем стиле и рекомендует именно этот стиль некая группа пользователей (а мы именно пользователи) говорит - мы будем использовать нотации не рекомендованные вендором, мы считаем, что если другие пользователи воспримут наш подход - им будет лучше.... только вот вендор как писал в старой нотации так и будет продолжать. Кроме того принятее сабжа может привести к проблеммам с постановкой "1с-совместимо" |
||||||||||
69
Сияющий Асинхраль
05.11.17
✎
23:03
|
(68) Да ладно уж, что тут говорить про вендора, на всю жизнь запомнил рекомендации по оформлению кода и желательные требования к самому коду, когда 1С только выпускала восьмерку. Там были "пожелания" 1С, чтобы процедуры и функции не превышали по возможности 300-400 строчек, а потом поглядел запросы в той же зарплате на несколько тысяч строчек и вопрос о "рекомендациях" 1С отпал сам собой. 1С пишет не так как сама рекомендует, а так как могут ее разработчики...
|
||||||||||
70
lamina
05.11.17
✎
23:15
|
(63) переосмысление условия делается не только для того, чтобы его было легко читать. Если уловие сложное, в нем собрано много проверяемых параметров, то есть высокая вероятность, что часть из них не стоило вычислять, или стоило их проверить раньше и вернуться из функции раньше.
Разбор сложных условий нередко заканчивается не просто их "перетусовкой" в поисках лексического изыска, но и влияет на сам аглоритм. Поэтому это не вопрос вкуса, а конкретное место, где стоит подумать над условием как таковым. |
||||||||||
71
Брудвар
05.11.17
✎
23:31
|
(70) В сложном условии небольшая добавка вообще как капля в море влияет на усложнение даже для того кто не привык. С другой стороны на упрощение она влияет больше. Так что лучше ставить чем не ставить.
|
||||||||||
72
Скиурус
06.11.17
✎
00:04
|
(21)
Да все просто. Конструкция вида Логическая_константа и что-то там еще сразу наводит на мысль, что тут в условии что-то переписывали, отлаживали и вообще костыль. Больше времени тратится на то, чтобы убедиться, что это не так, а не на то, чтобы понять что сейчас делает выражение. Естественно, если к такой нотации привыкнуть, тогда она будет читаться совсем легко. А ненужным я называл этот прием, несмотря на перечисленные в статье плюсы, потому что это попытка починить то, что не ломалось. Типичный оверинжиниринг. Сложные логические выражения надо не записывать в какой-то изощренной форме, а просто избегать. Если возникает необходимость тулить условия с 4-5 переменными, то очевидно этот код хороший кандидат на рефакторинг. |
||||||||||
73
Vladal
06.11.17
✎
01:44
|
(14) 1С рекомендует логические операторы писать в начале строк:
Если условие 1 Или условие 2 Или условие 3 Тогда |
||||||||||
74
Рэйв
06.11.17
✎
05:55
|
...
Сразу понятно |
||||||||||
75
TormozIT
гуру
07.11.17
✎
15:21
|
Пока получается соотношение тех, кто не испытывает сложностей при чтении, к тем, кто испытывает, составляет 12:5. Я ожидал около 5:1.
|
||||||||||
76
vvp91
07.11.17
✎
15:41
|
(68) (73) У вендора в этом вопросе проблема - явная обязанность писать Тогда в последней строке многострочного условия.
Эта обязанность напрочь убивает любую читабельность условий. Здравый смысл и читабельность показывают, что: * в однострочном Если писать Тогда надо в одной строке * в многострочном Если писать Тогда надо в отдельной строке на том же уровне отступа, что и Если. Еще у вендора бегает череп и всех заставляет писать "по стандарту", а не по здравому смыслу. Сразу понятно |
||||||||||
77
GANR
07.11.17
✎
16:07
|
По 10 раз на дню пишем условные операторы.
Сразу понятно |
||||||||||
78
DGorgoN
07.11.17
✎
16:09
|
Если пишешь это часто то и понимание занимает мгновение, уверен что если человек с этим не работает то и понимание усложняется.
Сразу понятно |
||||||||||
79
ptiz
07.11.17
✎
16:11
|
Странно, но понятно
Сразу понятно |
||||||||||
80
lodger
07.11.17
✎
16:20
|
Сразу понятно, что толку от этого нет.
Сразу понятно |
||||||||||
81
FIXXXL
07.11.17
✎
17:40
|
"колбаса" из условий, со скобками или без, один хрен нечитабельна
ну собери массив и проверь значение на вхождение в массив всяко читабельнее и сопровождение проще: поменял "сбор" массива и дальше "оно само" а тут глаза сломаешь... Не понятно |
||||||||||
82
Трипиэль
07.11.17
✎
18:58
|
мусор какой-то
Не понятно |
||||||||||
83
TormozIT
гуру
07.11.17
✎
21:59
|
(81) Из твоего сообщения кажется, что ты пытаешься не ответить на опрос, а покритиковать мою статью. Я не против критики, но хотелось бы честных ответов по опросу.
|
||||||||||
84
TormozIT
гуру
07.11.17
✎
22:00
|
(82) Почему тебе это кажется мусором? Видимо все таки понимаешь, как эти выражения упрощаются?
|
||||||||||
85
Махони402
07.11.17
✎
23:17
|
Сразу понятно. Наверное потому, что часто при отладке (особенно запросов в консоли) руки тянутся к "//" для временного отключения условий.
Ну и, соответственно, чтобы спокойно можно было комментить и первое условие тоже оно должно стать вторым :) из Когда //У1 Или У2 логично же сделать Когда Ложь //Или У1 Или У2 Сразу понятно |
||||||||||
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 лет. Он булеву алгебру учил двадцать лет назад в школе. У него ещё десять заявок в очереди и злой пользователь на линии. И вот он смотрит на ваш код и пытается понять, что же значит ваше семиэтажное выражение. Поэтому исключительно для статистики ставлю Не понятно |
||||||||||
87
Рэйв
08.11.17
✎
05:51
|
(75)Ты не тот срез аудитории взял. Тут,если ты поварился в 1С хотя бы несколько лет и не совсем гуманитарий, то само собой читать будешь сабж не задумываясь особо.
Если хочешь объективности- надо у студентов вузов спрашивать, без опыта работы |
||||||||||
88
Lokli
08.11.17
✎
06:14
|
Понятно, хотя и не привычно. Скажу так: "будет резать глаз". Какое-то время придется потратить на разбор этой конструкции в коде, если встретиться.
Сразу понятно |
||||||||||
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
|
да
Сразу понятно |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |