ИЛИ или Или

1. spezc 782 30.03.18 05:04 Сейчас в теме
Навеяно подобным вопросом на партнерском форуме.

Как вы пишите в коде: "ИЛИ" (в соответствии со стандартами разработки) или "Или" (говорят так сейчас стали писать в БСП)?
user1303946; +1 Ответить
По теме из базы знаний
Вознаграждение за ответ
Показать полностью

ИЛИ или Или


ИЛИ (61.11%, 33 голосов)
61.11%
Или (38.89%, 21 голосов)
38.89%

Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. TODD22 18 30.03.18 05:18 Сейчас в теме
(1)
"Или" (говорят так сейчас стали писать в БСП)?

Посмотрел в Рознице 2х годичной давности, оба варианта в коде встречаются.
46. PiotrLoginov 30.03.18 13:18 Сейчас в теме
(1) пишиете

(27) +1
Teut_Vlad; Palmer1976; spezc; +3 Ответить
47. spezc 782 30.03.18 13:22 Сейчас в теме
48. spacecraft 30.03.18 13:31 Сейчас в теме
(1) сам смысл написания используется исключительно для восприятия кода человеком.

Если это оператор в коде, то он в конфигураторе подсвечивается соответствующим цветом. Так нагляднее. И отличие "ИЛИ" от "Или" не принципиальная. Мозг человека воспринимает это в целом, если только это не читает начинающий программист, который каждый символ рассматривает. Конечно даже не рассматриваем другие виды написания этой конструкции.

Другое дело, если эта конструкция встречается в запросе, который не выделяется нужным цветом. Вот для выделения управляющих конструкций и используется только "ИЛИ".

Все остальные рекомендации от лукавого.
77. пользователь 30.04.18 21:55
Сообщение было скрыто модератором.
...
86. user1095163 05.06.19 17:02 Сейчас в теме
(1) и ИЛИ и Или и даже или
87. user1303946 04.11.19 16:54 Сейчас в теме
3. TODD22 18 30.03.18 05:27 Сейчас в теме
Стандартное автодополнение подставляет "Или".
4. spezc 782 30.03.18 05:31 Сейчас в теме
(3) говорят в платформе тоже косячников хватает
5. TODD22 18 30.03.18 05:48 Сейчас в теме
6. dmt 66 30.03.18 05:58 Сейчас в теме
Какая нафиг разница?
klinval; zodiac99-99; karpik666; Infector; genayo; +5 Ответить
7. spezc 782 30.03.18 06:11 Сейчас в теме
(6) если вам без разницы, то имхо вам стоит задуматься о смене профессии
MariusUrsus; +1 5 Ответить
8. dmt 66 30.03.18 06:41 Сейчас в теме
(7) Понятно. А если я пишу "или", то позорю 1С.
9. spezc 782 30.03.18 06:51 Сейчас в теме
10. genayo 30.03.18 07:22 Сейчас в теме
(8) А вот "или" в чужом коде реально выбешивает.
arakelyan; +1 Ответить
11. genayo 30.03.18 07:23 Сейчас в теме
(7) В чем для вас разница?
12. Infector 201 30.03.18 07:28 Сейчас в теме
(7)и в чем разница, если в конечном результате работает одинаково? Кроме предложенных ранее вариантов еще можно писать:

иЛИ
ИлИ
илИ

Что-то говорит внутри, что платформа это скушает
14. TODD22 18 30.03.18 07:31 Сейчас в теме
(12)
Что-то говорит внутри, что платформа это скушает

Если рассуждать с позиции что платформа скушает то она много чего может скушать, а вот человеку читать такой код будет не удобно. Код не только для платформы писать надо, но и для людей которые его будут читать и поддерживать.
16. Infector 201 30.03.18 07:37 Сейчас в теме
(14) Ну когда речь о словечках
"Или" "И" "Тогда" Удобочитаемость зависит скорее от форматирования отступов и цветовой схемы. ИменаДлинныхПеременных уже, кочечно, проще читать "Лесенкой".
В запросах - аналогично тому, как преобразует конструктор.

На практике - чаще раздражает, когда функции и процедуры из нескольких тысяч строк задействуют. Хочется взять и разделить. Но на типовых конфах такое не провернешь.
17. IvSchekin 30.03.18 07:37 Сейчас в теме
(14) столько красивого корявого кода видел. Красота нужна в музее.
Если есть потребность в красивом коде его всегда можно причесать простыми заменами и наслаждаться.

Для кого то код на русском это тоже еще тот вопрос, а уж язык запросов точно веселит.
20. TODD22 18 30.03.18 07:52 Сейчас в теме
(17)
столько красивого корявого кода видел

Это означает что нужно писать некрасивый код?
Красота нужна в музее.

Не знаю что вы подразумеваете под "красотой", но знаю что такое соблюдение стандартов оформления кода.
21. TODD22 18 30.03.18 07:53 Сейчас в теме
(17)
Если есть потребность в красивом коде его всегда можно причесать простыми заменами и наслаждаться.

За каждым сидеть причесывать? Или может каждый сам за собой будет причёсывать?
34. karpik666 3778 30.03.18 11:11 Сейчас в теме
(7) Считаю, что решать кому работать в данной профессии, а кому нет - это не ваше дело, да и не дело никого другого, вообще такое обращение неуважительное по отношение к собеседнику. Очень противно читать такие заявления, попахивает очень большим самомнением.
klinval; Radkt; boln; burni4; roman77; IvSchekin; ben19791010; mitia.mackarevich; D_e_X_T_e_R; gradi; Cooler; +11 1 Ответить
35. spezc 782 30.03.18 12:00 Сейчас в теме
(34) ну в (7) это стеб был, для тех кто в танке. Хотя вы все равно правы, самомнения у меня будь здоров.
36. Cooler 22 30.03.18 12:11 Сейчас в теме +1 $m
(35)
самомнения у меня будь здоров.
Противоречит самому факту создания такого опроса. Зачем он понадобился? Чтобы удостовериться (ну так, на всякий случай), что большинство пишет так же, как автор? А 1 $m, очевидно, тому, кто лучше других обоснует "правильность" такого написания?

P.S. И "самомнение" пишется без "я".
37. spezc 782 30.03.18 12:15 Сейчас в теме
(36) не угадал. чтобы удостовериться сколько неправильных, которые пишут Или. 1 $m - это тебе)
38. SandDanGlokta 30.03.18 12:19 Сейчас в теме
(37)А чтобы писать правильно, нужно каждый раз редактировать код из контекстной подсказки? Если да, тогда уж лучше я буду писать неправильно.
39. genayo 30.03.18 12:22 Сейчас в теме
(37) "по этому поводу есть два мнения - одно моё, а другое неправильное".
klinval; Cooler; +2 Ответить
41. Cooler 22 30.03.18 12:33 Сейчас в теме
(37)
не угадал.
Тогда за что стартмани? Вернул взад.
чтобы удостовериться сколько неправильных, которые пишут Или.
Те же гениталии, только в профиль.
42. spezc 782 30.03.18 12:35 Сейчас в теме
13. IvSchekin 30.03.18 07:29 Сейчас в теме
Почему не все варианты предложены?
или, ИлИ, иЛи, ...
15. IvSchekin 30.03.18 07:32 Сейчас в теме
Если что то бесит надо искать проблемы в себе.
Надо проще ко всему относится.

И надо помнить одно важное правило: Не ищи логику там где ее нет.
Она далеко не везде присутствует.
Если вы зациклены на формах, а не на содержании, то надо работать над собой.
18. genayo 30.03.18 07:41 Сейчас в теме
(15) Проблем нет, замена решает. Но "или" в коде не пишите, пожалуйста.
19. spezc 782 30.03.18 07:44 Сейчас в теме
(15) вы будете проще относиться к коду?

процедура обработать_данные_таблицы(предтабл, колстр) экспорт
     для каждого стр_табл из предтабл цикл
       стр_табл.к = колстр;
     конеццикла;
конецпроцедуры
23. dmt 66 30.03.18 07:58 Сейчас в теме
(19) Есть только одно замечание. Имя процедуры не говорит что делает эта процедура.
25. IvSchekin 30.03.18 08:05 Сейчас в теме
(19) Я прочитаю любой код. Мой мозг одинаково понимает ИЛИ или Или,
Надо грамотно расставлять приоритеты. Есть важные вещи а есть не важные и не принципиальные.

Меня напрягает когда в коде константы (не в смысле объекты константы) и куча если написано. Короче не универсальные алгоритмы - костыли короче. Красивые костыли пишут не прикапешься.
klinval; Radkt; gradi; +3 Ответить
71. IvSchekin 07.04.18 00:53 Сейчас в теме
(19) Почему не затронули другую тему в запросах, звучало бы замечательно, а именно:
"Надо ли КАКать в запросах и зачем это делают в 1С а не в туалете?"
72. spezc 782 07.04.18 04:28 Сейчас в теме
(71) Однозначно надо. Это вроде в стандартах есть. В здравом смысле тоже.
73. IvSchekin 07.04.18 09:16 Сейчас в теме
(72) Вроде это сумасшедший аргумент.
Здравый смысл еще видать больший?
Когда это здравый смысл объяснял наличие не нужных слов?

Язык запросов слизана с T-SQL поддерживаемых баз приведенный к общему знаменателю - используется то что совпадает в 5 СУБД.
На T-SQL-е as которые недавно прочитали учебник и не поняли что это необязательно. А уж большими буквами AS, если конечно весь код не приведен к верхнему регистру.
74. spezc 782 07.04.18 12:02 Сейчас в теме
(73) не пойму против чего вы выступаете? против псевдонимов в принципе или против заглавного написание КАК?
76. spacecraft 07.04.18 12:54 Сейчас в теме
(74) он выступает против написания необязательного ключевого слова "КАК":
Выбрать
  Справочник.Наименование КАК Товар,
  Справочник.Код Номер
...
79. konstruktiv 30.05.18 12:38 Сейчас в теме
75. Cooler 22 07.04.18 12:48 Сейчас в теме
(72)
Это вроде в стандартах есть. В здравом смысле тоже.
Опять оправдания и поиск опоры. Нет, нестыковка налицо.

Для "человека с самомнением" не нужны никакие обоснования: стандарты для себя, любимого, задает только он сам! И на здравый смысл ему плевать, если этот смысл противоречит его желаниям - тем хуже для здравого смысла!

Или стандарты, ИЛИ самомнение.
22. kuzyara 1914 30.03.18 07:56 Сейчас в теме
По-моему, тут всё очевидно.
СП:
Логические операции
Логические операции
Общее
Операции сравнения
Булевы операции

Логическая операция сравнивает операнды и вырабатывает значение типа Булево: Истина или Ложь. Существует два вида логических операций: операции сравнения и булевы операции. В операциях сравнения сравниваются два значения. Булевы операции выполняются над значениями типа Булево, реализуя булеву алгебру. Символы булевых операций могут комбинироваться, образуя составные операции.

Операции сравнения:

В языке определены следующие виды операций сравнения:


больше
(Оп1 > Оп2)

больше или равно:
(Оп1 >= Оп2)

меньше:
(Оп1 < Оп2)

меньше или равно:
(Оп1 <= Оп2)

равно
(Оп1 = Оп2)

не равно:
(Оп1 <> Оп2)


Операции сравнения определены для следующих типов операндов:


больше
Число>Число
Строка>Строка
Дата>Дата

больше или равно:
Число>=Число
Строка>=Строка
Дата>=Дата

меньше:
Число<Число
Строка<Строка
Дата<Дата

меньше или равно:
Число<=Число
Строка<=Строка
Дата<=Дата

равно
Любой тип=Любой тип

не равно:
Любой тип<>Любой тип


Булевы операции:

В языке определены следующие виды булевых операций:


И (AND)
конъюнкция (булево И)
ИЛИ (OR)
дизъюнкция (булево ИЛИ)

НЕ (NOT)
логическое отрицание (булево отрицание НЕ)

Логические выражения вычисляются слева направо. Для того, чтобы избежать неоднозначности и управлять последовательностью операндов, следует применять круглые скобки.

Уровни старшинства логических операций:

Уровень 1 — операнды заключенные в скобки
Уровень 2 — НЕ
Уровень 3 — И
Уровень 4 — ИЛИ

Замечание! При вычислении логического выражения вычисляются только необходимые части выражения. Например, в выражении "(Цена > 0) И ПроверкаСуммы()", если Цена <= 0, то функция ПроверкаСуммы() не вызывается.

Показать
Хотя, нее.
1С:АПК, раздел "Проверка канонического написания ключевых слов" (скрин)
Прикрепленные файлы:
TODD22; spezc; +2 Ответить
24. genayo 30.03.18 08:00 Сейчас в теме
(22) Конечно, допустимо (ИЛИ, Или). Все остальное - от неуважения к своим коллегам.
26. user700035_6550355 29 30.03.18 08:27 Сейчас в теме
Код нужно писать красиво и читабельно, я пишу ИЛИ
boln; Petr82; +2 Ответить
27. DenisCh 30.03.18 08:59 Сейчас в теме
В запросе все ключевые слова пишу большими буквами, в коде - Если, Или, Тогда, КонецЦикла.
Мне так удобней
28. ben19791010 30.03.18 09:10 Сейчас в теме
я пишу If or Тогда EndIf.... часто rem забываю помечать, а так потом проще искать
просьба не кидаться ))
29. mad375 30.03.18 10:33 Сейчас в теме
(28)Ща набегут настоящие "прогроммисты" и обзовут пижоном и выпендрежником
49. ben19791010 30.03.18 14:01 Сейчас в теме
(28) ну и кто тут такой смелый? )) минус вляпал...совсем нет ЧЮ?
54. корум 287 30.03.18 15:18 Сейчас в теме
(49)
ну и кто тут такой смелый

я, например.
и что?
56. ben19791010 30.03.18 15:21 Сейчас в теме
57. herfis 499 30.03.18 15:26 Сейчас в теме
(56) Я тоже минус добавил. Пусть будет. Он там на месте.
user774630; +1 Ответить
30. Slypower 2 30.03.18 10:40 Сейчас в теме
Те, кто пишет спецом ИЛИ, куда вы деваете оставшее свободное время? У меня часто проскакивает КОнец, ПРоцедура и т.д. Если замечаю и есть вермя исправить, то исправляю. Хоть глаза и режет, но от скорости печатания не всегда слежу за корректностью напечатанного
43. herfis 499 30.03.18 12:43 Сейчас в теме
"ИЛИ".
Привык как-то еще до 1С булевы операторы и операторы языков запросов писать заглавными. Ну и так как начинал с паскаля и бейсика, то писать операторы языка с заглавных тоже привычно. А вот сишники бывает грешат все прописными оформлять и в других языках. Это да - глаз режет. Хотя в Си это хорошо смотрится. Наверное, потому что на Си тоже немножко пописывал.
А в чужом коде больше всего раздражают не отличия от моего стиля (он практически полностью по стандартам 1С получается), а вообще пренебрежительное отношение к оформлению кода. Случайные отступы, смешение стилей, ошибки, загадочные названия переменных. Ну и я никогда не видел, чтобы программисты с таким отношением к оформлению кода писали хорошую логику - такой код всегда в добавок еще и отвратительно структурирован и полон прекрасного. Это одноразовый код. Как правило, его дешевле переписать и только потом дорабатывать. По итогу и время и нервы экономятся.
(30) Я набираю вслепую, т.е. глаза всегда на экране и случайные ошибки набора тут же видишь и исправляешь. Многие используют шаблоны для ввода языковых конструкций. И быстро и без ошибок.
44. Cooler 22 30.03.18 12:48 Сейчас в теме
(43)
Я набираю вслепую
Открою маленький секрет: все набирают вслепую, поголовно.

С небольшим таким отличием: некоторые во время набора не смотрят на клавиатуру, а большинство не смотрит на экран. :)
45. herfis 499 30.03.18 12:49 Сейчас в теме
(44) Ну, я в классическом смысле: "слепой набор" подразумевает, что не смотришь на клавиатуру.
31. MariusUrsus 30.03.18 10:43 Сейчас в теме
Когда устраивался на работу во франч, то соглашения по написанию кода вручались под подпись. В частности: Или должно писаться в коде, а ИЛИ в тексте запроса. Но это внутреннее соглашение.

А вот на то, что даже в справке логические операторы пишутся заглавными буквами честно говоря удивлен.

Для каждого ... из или Для Каждого ... Из? Истина или ИСТИНА? UpperCamelCase, lowerCamelCase, snake_case, kebab-case, Train-Case, SCREAMING_SNAKE_CASE или еще какой другой стиль?

Вообще, пусть безобразно, но однообразно: если в коде 1С "в среднем по колхозу" UpperCamelCase, то делать что-то иначе это моветон.
32. karpik666 3778 30.03.18 11:02 Сейчас в теме
"Или, или" - немного режут глаз, но это не критично. Это никак не влияет на работу программы, и как правильно заметили, если это вас это раздражает при чтении кода, то вы либо не дозагружены, либо вам нефиг делать. Нужно обращать внимание на реальные косяки, например запросы в цикле, или просто некорректный код, а если ваш "внутренний перфекционист" мешает восприятию кода, то напишите тогда регулярное выражение, которое заменит все эти ужасные "или" на правильное программисткое "OR", и читайте в удовольствие.
IvSchekin; Boneman; +2 Ответить
33. Boneman 298 30.03.18 11:02 Сейчас в теме
Лично мне фиолетово как написано, при разборе чужого кода, даже не обращаю внимание на такие мелочи.
Это из серии, когда бывшие троечники, начинают делать замечания людям по поводу ошибок в словах.
Главное чтобы код был понятен, и работоспособен и по возможности оптимален. И с каким нибудь комментарием

Хотя, чисто интуитивно, логические конструкции И ИЛИ НЕ пишу заглавными, а все остальные операторы - Заглавная первая буква, остальные маленькие. Но не перепроверяю и не парюсь до паранойи по этому поводу.
Sashares; spezc; +2 Ответить
40. VmvLer 30.03.18 12:25 Сейчас в теме
никак не пишу, обхожусь без инвариантности, которую плохо переваривают запросы и компилятор
50. mazechild 30.03.18 14:11 Сейчас в теме
Пишу всегда "ИЛИ". Если встречаю в коде другое написание, то заменяю. Так же как и многие другие не устраивающие меня написания. Всегда пишу большими буквами все операторы" НЕ, И, ИЛИ. Плохо переношу "<>". Заменяю на "НЕ... =".
Со мной что-то не так?
51. DenisCh 30.03.18 14:15 Сейчас в теме
(50)
Плохо переношу "<>". Заменяю на "НЕ... =".

Говорят, это называется *овнокод.
boln; kuzyara; MariusUrsus; TODD22; корум; Sashares; +6 1 Ответить
59. JohnGalt 57 30.03.18 16:05 Сейчас в теме
(51) Когда-то столкнулся с проблемой, если в запросе в условии соединения таблиц "<>", он намного медленнее выполняется, чем с конструкцией "НЕ"
60. DenisCh 30.03.18 16:31 Сейчас в теме
(59) Мы не о запросах сейчас, а о коде.
В запросе при определенных данных - может
61. herfis 499 30.03.18 17:08 Сейчас в теме
(59) Это может быть. Оптимизатор запросов условия на равенство шибко любит - тогда он может hash join применить, к примеру. В случае с <> он тоже должен догадываться до эффективного плана, но в сложных запросах всяко бывает. Где-то не по той ветке пошел :)
Но запросы - это отдельная тема, стоящая в стороне от внутреннего языка 1С.
Тот же null - далеко не одно и тоже в запросах и языке.
А в языке заменять операцию неравенства на отрицание равенства - по меньшей мере очень странно. Это все равно что возненавидеть синус и всегда выражать его через косинус.
Артано; +1 Ответить
67. KAV2 156 02.04.18 05:39 Сейчас в теме
(51) НЕ... вместо <> позмоляет писать не переключаясь на английскую раскладку. Ведь в кириллической клавиатуре не предусмотрены эти знаки.
68. DenisCh 02.04.18 07:12 Сейчас в теме
(67) Я поставил себе программку и нажимаю альт-бю
69. EVKash 14 02.04.18 11:59 Сейчас в теме
55. herfis 499 30.03.18 15:19 Сейчас в теме
(50)
Плохо переношу "<>". Заменяю на "НЕ... ="

Это уже эребор. Идиосинкразию к "<>" лучше все-таки пролечить.
52. PR22 30.03.18 14:49 Сейчас в теме
Раньше писал ИЛИ, теперь стал спокойнее, пишу Или
53. ben19791010 30.03.18 15:10 Сейчас в теме
(52)
Раньше писал ИЛИ
капсу просто забыл выключать )
58. mkalimulin 1170 30.03.18 16:01 Сейчас в теме
Я пишу "или", лень на шифт жать.
sekorolev-apk; IvSchekin; +2 1 Ответить
62. Vovan1975 13 30.03.18 17:25 Сейчас в теме
спор тупоконечников с остроконечниками...
Артано; IvSchekin; +2 Ответить
63. AndKovalchuk 192 30.03.18 17:39 Сейчас в теме
Вообще 1с не рекомендует в запросе писать ИЛИ.

Пишу "Объединить ВСЕ"
64. Infector 201 30.03.18 17:54 Сейчас в теме
(63) ну это далеко не везде удобочитаемо. Классика жанра:

ГДЕ Номенклатура в (&Список) ИЛИ &НетОтбора
66. SlavaKron 01.04.18 18:07 Сейчас в теме
(64) К чему эти "трюки":
Если НетОтбора Тогда
	Запрос.Текст = СтрЗаменить(Запрос.Текст, "ГДЕ &Условие", "");
Иначе
	Запрос.Текст = СтрЗаменить(Запрос.Текст, "&Условие", "Номенклатура В (&Список)");
	Запрос.УстановитьПараметр("Список", Список);
КонецЕсли;
65. IvSchekin 01.04.18 00:36 Сейчас в теме
(63) Причем тут 1С и рекомендации по запросам???
Это требования реляционных БД - не указывать ИЛИ по возможности на больших таблицах, иначе будет фул скан таблиц, с вытекающими последствиями по времени выполнения.
70. DenisCh 02.04.18 12:40 Сейчас в теме
Autodesigner
Прикрепленные файлы:
78. chekrizh 29.05.18 14:15 Сейчас в теме
Подобные синтаксические дилеммы решаются ритуалом "Ctrl" + Пробел, который уже является чем-то средним между привычкой и тиком. И результатом этой комбинации является "Или", то бишь платформа сама предлагает такой вариант.
SlavaKron; +1 Ответить
80. user600260_gamarnikv 30.05.18 12:46 Сейчас в теме
В "коде" имеется ввиду и черные запросы, а их пишет Конструктор. Так что ответ ИЛИ статистически более частый.И без опроса можно понять
81. herfis 499 30.05.18 12:53 Сейчас в теме
(80) Не. Запросы - отдельный разговор. Для них свои стандарты. Там все ключевые слова заглавными рекомендуется писать.
82. Radkt 30.05.18 15:18 Сейчас в теме
ИЛИ в запросе и Или в коде, это не самое плохое, что может напрягать в нашей профессии. По данному вопросу вообще не стоит напрягаться, так всегда найдется разрушитель ваших идеалов, и человек принимающий за истину противоположное мнение.
83. pavelyar 02.06.18 17:38 Сейчас в теме
Стремлюсь к красоте ,только ИЛИ
84. user982876 28.06.18 10:31 Сейчас в теме
85. manuel 456 28.06.18 10:40 Сейчас в теме
В запросе ИЛИ, в обычном коде Или
88. user1250298 10.11.19 02:09 Сейчас в теме
Все булевские операции в коде лучше писать заглавными буквами, так лучше воспринимается логическое выражение и его проще расшифровать, конечно нет разницы с точки зрения кода, но так как код приходится регулярно читать, анализировать и дописывать, то чтобы облегчить себе жизнь, лучше писать ИЛИ
89. o.kovalev 114 11.11.19 23:03 Сейчас в теме
Пишу всегда заглавными, так мне кажется красивее, а компилятор и так и так воспринимает.
90. user1253329 23.11.19 08:34 Сейчас в теме
91. Konstatine 7 08.06.20 14:47 Сейчас в теме
Я привык что любое слово в 1С пишется с заглавной буквы. То есть первая всегда заглавная, а остальные всегда маленькие. Поэтому ИЛИ ну никак не подходит. Или. Однозначно.
sekorolev-apk; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот