Руководство по стилю оформления. Предлагаю составить.

1. Aleksandr_K 44 12.11.16 16:53 Сейчас в теме
Коллеги, приветствую,

для примера в сообществах Ruby, Python есть руководства по стилю оформления, а у нас открытого, на сколько мне известно нет.

Для затравки накидал драфт:
https://github.com/skyksandr/1c-styleguide

Критика, дополнения, обсуждения вери велкам!
serge_focus; TODD22; dj_serega; echo77; +4 Ответить
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
4. Armando 1399 12.11.16 23:40 Сейчас в теме
(1) чем это не подошло https://its.1c.ru/db/v8std ?
dj_serega; h00k; lefthander; +3 Ответить
5. Aleksandr_K 44 13.11.16 00:17 Сейчас в теме
(4) Тем, что доступен только по подписке, которая есть далеко не у каждого разработчика.
На мой взгляд это должна быть открытая информация.
Прикрепленные файлы:
FesenkoA; ipoloskov; +2 Ответить
6. lefthander 13.11.16 00:22 Сейчас в теме
(5) Да для тех у кого есть действующая подписка на ИТС документ называется
Система стандартов и методик разработки конфигураций для платформы 1С:Предприятие 8
7. Aleksandr_K 44 13.11.16 13:14 Сейчас в теме
(6) Мне это известно. Подраздел "Соглашения при написании кода".
Но:
1. Он закрыт от общего доступа, соответственно нельзя просто взять и дать ссылку человеку.
2. Он проприетарный, а не community-driven. (для примера в написании ruby style guide принимали участие 145 человек, python style guide 297 человек).
14. dj_serega 390 17.11.16 00:30 Сейчас в теме
(1) Больше половины и так использую :) Может даже больше 75%.
Поэтому поддерживаю.
2. ipoloskov 162 12.11.16 17:09 Сейчас в теме
Из "Чистого кода" Роберта Мартина: "Параметр функции не должен возвращать значение".
К сожалению, 1С этим часто грешит даже на уровне платформы, из-за чего появляются уродцы типа
Значение = Неопределено;
Если Структура.Свойство(Ключ, Значение) Тогда
Сообщить(Значение);
КонецЕсли;
3. Aleksandr_K 44 12.11.16 17:37 Сейчас в теме
(2) Спасибо! Дополнил.

Также добавил про имена переменных и методов, содержащих отрицание, например "НеЗначениеЗаполнено", "НеСоответствует" и т.д. рано или поздно, так или иначе к этой переменной/методу добавится условие "Если Не НеЗначениеЗаполнено Тогда"
8. ipoloskov 162 16.11.16 17:46 Сейчас в теме
При доработках конфигурации не называть добавляемые общие модули "Вектор5_ОбщегоНазначения" или "ВасяПупкин_ОбщегоНазначения". Сопровождающий франчайзи может смениться (да-да, к вам это тоже относится), и перед преемником встанет задача или глобального переименования вызовов, или создания своих модулей - а это уже может привести к плодотворной работе по изобретению велосипедов.
Лучше назвать
хх_ОбработчикиПодписокНаСобытия
хх_ПрочиеФункцииСервер
хх_ПрочиеФункцииКлиент и т.д.,
где хх - аббревиатура заказчика.
9. Vovan58 65 16.11.16 18:32 Сейчас в теме
(8) А другому заказчику как переносить? Такое тоже часто бывает :)

Я думаю, лучше префикс доработки обозначить. А все префиксы доработок - в один общий модуль с описаниями : С1_Доработки
12. h00k 50 16.11.16 19:33 Сейчас в теме
(8)
где хх - аббревиатура заказчика.

Когда в рамках холдинга несколько заказчиков разрабатываемого функционала - то могут возникнуть трения и недовольство данным подходом.

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

Я когда вижу префиксы на английском в обычной УТ - начинаю вспоминать где сейчас хранится дедушкина двустволка...

Стараюсь использовать

ххх - сокращенный префикс для разрабатываемой функциональности/ подсистемы
10. herfis 498 16.11.16 18:58 Сейчас в теме
Законодателем стайлгайда и де юре и де факто может выступать только 1С, документируя его и применяя в своих типовых. Хорошо это или плохо - вопрос к теме не относящийся. Отсутствие открытого - не аргумент. 1С проприетарна с головы до ног, вообще-то.
Поэтому советую сразу скорректировать направление "полета": противоречий с "линеей партии" быть не должно. Да и вообще лучше один неидеальный стайлгайд, чем два разных.
13. h00k 50 16.11.16 19:44 Сейчас в теме
(10)
Законодателем стайлгайда и де юре и де факто может выступать только 1С

В корне не верно. 1С может только рекомендовать. Требовать они могут только на экзаменах, либо при сертификации решения на 1С-Совместимо...

Законодателем стиля разработки де факто выступает рп/ тим-лид конкретной команды разработки, либо заказчика. Да и то, только в том случае, если в команде/ проекте используют соглашения по написанию кода, формированию имен переменных и т.п.

(10)
Отсутствие открытого - не аргумент.

С этим полностью согласен. Система стандартов - всегда должна быть основой, а конкретные моменты, такие как порядок формирования префиксов, формирование имен переменных, порядок именования общих модулей и т.п. должны дополнять/ заменять соответствующие разделы в "Стандартах"...
11. herfis 498 16.11.16 19:00 Сейчас в теме
Ну а всякие дополнения и полезные советы, ессно, приветствуются.
Только предлагаю сразу разделить на две категории: по стилю оформления и по стилю программирования.
15. kng67 17.11.16 08:22 Сейчас в теме
Подписка есть, поэтому нырнула в этот раздел, воспользовавшись пословицей: "Повторенье - мать ученья". Использую много из вышеперечисленного. Правда в качестве префикса использую аббревиатуру привлеченного нами разработчика, добавляя там, где правила и дописывала уже сама свою.
16. Aleksandr_K 44 01.12.16 18:56 Сейчас в теме
Законодателем стиля разработки де факто выступает рп/ тим-лид конкретной команды разработки, либо заказчика. Да и то, только в том случае, если в команде/ проекте используют соглашения по написанию кода, формированию имен переменных и т.п.


Полностью согласен, это начинание и задумывалось как основа для соглашений, используемых в команде, основанных на наработанном сообществом опыте.

Любой тим-лид/тех. архитектор/пм и т.д. может взять за основу данный документ, дополнить/удалить нужное и использовать.

В идеале по этим правилам бы еще статический анализатор разработать, который можно было бы использовать в CI на данном этапе и в iDE впоследствии.
17. serge_focus 4 01.12.16 19:46 Сейчас в теме
За начинание - Плюс в "карму".
Мне кажется имеют право на жизнь два подхода :
1- от 1С - и франчи обязаны его использовать.
2- оговоренный для команды в рамках продукта. Мало того- соглашение по стилю кодирования и оформлению кода должно быть составной частью "Устава Продукта". И базироваться он должен на Системе стандартов и методик разработки конфигураций для платформы от 1С.

Когда в рамках холдинга несколько заказчиков разрабатываемого функционала - то могут возникнуть трения и недовольство данным подходом.

Тогда и не будет возникать вопросов по подходу и трений.
18. BigBoss 2 02.12.16 11:38 Сейчас в теме
Советую всегда переносить длинные строки. Не, ну реально бесит.
19. igel9780 171 02.12.16 14:18 Сейчас в теме
(18) Насколько длинные? У меня экран 26", у кого-то - 17". Плюс шрифт может быть увеличенный. Плюс Docable-окна у всех по-разному настроены.
20. ipoloskov 162 02.12.16 14:23 Сейчас в теме
(19) есть стандарт - не более 120 символов.
В создаваемых конструктором запросах это лень соблюдать (да, наверное, и незачем), а в коде стараюсь ограничивать.
Жалко, что в конфигураторе 1с нельзя сделать красную полосу ограничения.
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)