Точка с запятой перед операторной скобкой
Добрый день.
В последнее время заметил что стал часто пропускать точку с запятой перед операторной скобкой пример:
Собственно вопрос такой, на что влияет точка с запятой перед операторной скобкой.
Единственное что нашёл в интернете:
Хотелось бы услышать мнения. Ставить или нет точку с запятой и почему.
Спасибо.
В последнее время заметил что стал часто пропускать точку с запятой перед операторной скобкой пример:
Если Условие Тогда
Оператор1;
Оперетор2
Иначе
Оператор4
КонецЕсли;
Собственно вопрос такой, на что влияет точка с запятой перед операторной скобкой.
Единственное что нашёл в интернете:
Точку с запятой ставить надо, так как вдруг потом надо будет дописать что-нибудь и у оператора у которого нет точки с запятой, она уже будет нужна.
Хотелось бы услышать мнения. Ставить или нет точку с запятой и почему.
Спасибо.
Найденные решения
Судя по ответам. Главная проблема почти у всех, кто встречает такой код это его последующая доработка, хотя на мой взгляд это всё субъективно, но большинство считает, что так лучше не писать.
Единственное что действительно можно считать проблемой, это заимствование в расширении такого когда, когда приходится писать, что нибудь типа:
Что становиться не очень читабельным.
Всем спасибо.
Единственное что действительно можно считать проблемой, это заимствование в расширении такого когда, когда приходится писать, что нибудь типа:
Если Условие Тогда
Оператор1;
Оперетор2
#Вставка
;
Оператор4;
#КонецВставки
Иначе
Оператор4
КонецЕсли;
ПоказатьЧто становиться не очень читабельным.
Всем спасибо.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(12)
Чисто технически это не обязательно. Можно не удалять, а во Вставка начать с ;
Точка с запятой может располагаться и на другой строке кода.
Но да, это лишний напряг. И самое главное, возможность появления не информативной ошибки.
Или если расшрирять через ИзменениеИКонтроль, то придется эту строку ставить в #Удаление, и дублировать её во #Вставка (но уже с точко-запятой). А можно было бы и обойтись
Чисто технически это не обязательно. Можно не удалять, а во Вставка начать с ;
Точка с запятой может располагаться и на другой строке кода.
Но да, это лишний напряг. И самое главное, возможность появления не информативной ошибки.
(1)Логически она там не нужна. Ибо "Иначе", "КонецЕсли", "КонецЦикла", etc уже завершают блок.
Если нравится - ставьте.
По поводу "Красивости" кода: с псевдонимами "РегистрСведенийВременноПребывающиеПринятыеПоДолгосрочнымДог оворамСрезПоследних" тоже работать не ахти как удобно, но терпят, чтобы "другим было понятно". Хотя другие так же мучаются))
Если нравится - ставьте.
По поводу "Красивости" кода: с псевдонимами "РегистрСведенийВременноПребывающиеПринятыеПоДолгосрочнымДог
(1)
И мерещится мне, что если бы вам приходилось регулярно расставлять точки с запятыми после других программистов, то тон ветки был бы сааавсем другим! :-)
Собственно вопрос такой, на что влияет точка с запятой перед операторной скобкой.
На отношения между программистами. ;-)
И мерещится мне, что если бы вам приходилось регулярно расставлять точки с запятыми после других программистов, то тон ветки был бы сааавсем другим! :-)
В паскалях еще такое было, что завершение блока само по себе "точка с запятой". Я, например, к этому нормально отношусь. И если коллега не может при необходимости поставить этот символ, то хреновый он коллега. Это как в запросе запятые перед элементами выборки ставить, чтобы коллегу не обидеть, ибо перед ИЗ запятая приведет к ошибке )))
(17)Это тоже самое, что соседи, что не выкидывают мусор в мусорку, а бросают в подъезде. Если другие соседи не могут донести чужой мусор до мусорки, они хреновые соседи.
У вас такая же логика, такого же уровня.
Делай свою работу нормально, чтобы за тобой не приходилось переделывать другим.
У вас такая же логика, такого же уровня.
Делай свою работу нормально, чтобы за тобой не приходилось переделывать другим.
(19) Если что-то попадает в расширение это уже переделка. А лепить точки с запятой там где они излишни на случай чтоб при заимствовании в расширение копипастить не пришлось тоже не слишком рационально. А вдруг не заимствуют а я тут точек с запятыми налепил?
(23)
Простая логика:
- есть точка с запятой и заимствуют в расширение - проблемы ни у кого нет
- есть точка с запятой и НЕ заимствуют в расширение - проблемы ни у кого нет
- нет точки с запятой и заимствуют в расширение - есть проблема
- нет точки с запятой и НЕ заимствуют в расширение - нет проблемы
Зачем создавать проблему на пустом месте, если можно ее не создавать? Поставить ";" не такая и сложная задача.
Я не говорю, что это прям критичная проблема, если ее не будет, если разработчик забыл случайно поставить ";". Другой может это исправить. Я против целенаправленного подхода "не ставить ";" там где можно ее не ставить", т.к. это потенциально приведет к ошибке в будущем.
А вдруг не заимствуют а я тут точек с запятыми налепил?
Простая логика:
- есть точка с запятой и заимствуют в расширение - проблемы ни у кого нет
- есть точка с запятой и НЕ заимствуют в расширение - проблемы ни у кого нет
- нет точки с запятой и заимствуют в расширение - есть проблема
- нет точки с запятой и НЕ заимствуют в расширение - нет проблемы
Зачем создавать проблему на пустом месте, если можно ее не создавать? Поставить ";" не такая и сложная задача.
Я не говорю, что это прям критичная проблема, если ее не будет, если разработчик забыл случайно поставить ";". Другой может это исправить. Я против целенаправленного подхода "не ставить ";" там где можно ее не ставить", т.к. это потенциально приведет к ошибке в будущем.
(17)В Pascal оператор ";" назывался "пустой оператор" и служил для разделения операторов.
Там можно было по несколько точек с запятой подряд ставить: и всё работало.
Критично было только в случае нескольких вложенных if
if условие1 then оператор1 if условие2 then оператор2; else оператор3
Выделенный оператор указывал, что else к первому if
Там можно было по несколько точек с запятой подряд ставить: и всё работало.
Критично было только в случае нескольких вложенных if
if условие1 then оператор1 if условие2 then оператор2; else оператор3
Выделенный оператор указывал, что else к первому if
(20)
В Pascal оператор ";" назывался "пустой оператор" и служил для разделения операторов.
Там можно было по несколько точек с запятой подряд ставить: и всё работало.
Так 1С - это процедурная копия паскаля можно сказать. И точки с запятой тоже можно ставить сколько хошь.
Там можно было по несколько точек с запятой подряд ставить: и всё работало.
(25) Все языки программирования в чём-то схожи. Элементы Pascal, разработанного для изучения программирования можно увидеть в любом языке программирования. Но это не значит, что этот язык копия Pascal.
Отличий много: строгая типизация, по циклам несовпадение (for ... to ... downto, repeat ... until ...), простой/составной оператор, etc.
Может создатели языка 1С и вдохновлялись Pascal, но язык получился сильно другой.
PS Цикла "Repeat оператор Until условие" в 1С явно не хватает.
Отличий много: строгая типизация, по циклам несовпадение (for ... to ... downto, repeat ... until ...), простой/составной оператор, etc.
Может создатели языка 1С и вдохновлялись Pascal, но язык получился сильно другой.
PS Цикла "Repeat оператор Until условие" в 1С явно не хватает.
(28)
Функционально - замена, жить можно. Но в Repeat ... Until постусловие. Т.е. до цикла не надо "инициализировать" условие. Компактней код получается и не приходится одно и то же в двух местах писать/вызывать.
Есть же цикл "Пока Условие Цикл", чем не замена?
Функционально - замена, жить можно. Но в Repeat ... Until постусловие. Т.е. до цикла не надо "инициализировать" условие. Компактней код получается и не приходится одно и то же в двух местах писать/вызывать.
Судя по ответам. Главная проблема почти у всех, кто встречает такой код это его последующая доработка, хотя на мой взгляд это всё субъективно, но большинство считает, что так лучше не писать.
Единственное что действительно можно считать проблемой, это заимствование в расширении такого когда, когда приходится писать, что нибудь типа:
Что становиться не очень читабельным.
Всем спасибо.
Единственное что действительно можно считать проблемой, это заимствование в расширении такого когда, когда приходится писать, что нибудь типа:
Если Условие Тогда
Оператор1;
Оперетор2
#Вставка
;
Оператор4;
#КонецВставки
Иначе
Оператор4
КонецЕсли;
ПоказатьЧто становиться не очень читабельным.
Всем спасибо.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот