Когда 1С программист только начинает писать код, то в основном он учит синтаксис языка: что такое "если", как писать циклы, как создать массив. Начинает осваивать поиск информации в синтакс-помощнике. Это сложный процесс, нужно запомнить много новых понятий.



Через полгода-год узнает простые истины: размер процедуры или функции должен быть меньше 1 экрана. Знакомится со страшным словом “рефакторинг”. Приходит понимание, что писать код структурировано и понятно, так же важно, как и знать, чем отличается регистр сведений от справочника.



Потом программист понимает, что можно списывать приемы написания кода с типовых конфигураций. Начинает читать стандарты на ИТС. Теперь у него получается передавать параметры в процедуры и функции через структуру, а не простыней по 20 параметров. Умело копирует разные части кода из типовых. Код становится лучше, но понимания многих вещей так и не приходит. Например, зачем в типовых конфигурациях так сложно получают текущую дату и время:



ТекущаяДата()

vs

ОбщегоНазначенияКлиент.ДатаСеанса()



Ведь можно все уместить в 1 строку кода, а в типовых код размазан на несколько общих модулей.



Где узнать правила “хорошего программирования”? Как научиться писать красивый и понятный код? Как дальше совершенствовать свои навыки? Кто-то скажет: “И так сойдет. Все так пишут”. Но это уровень середнячка, того, кто не сможет написать хорошую конфигурацию, грамотную обработку, за которую будет не стыдно.



Но программист в нашем примере - особенно отважный, он идет читать книги. Но в них все больше о наследовании, инкапсуляции и прочих понятиях, которые 1Снику чужды. Как понять примеры из этих книг? Как перенести все это в наш 1Сный мир? Как стать лучшим кодером микрорайона?



И тут программист знакомится с @zeegin и узнает, что почти все из мира чуждого программирования работает и в 1С. Что есть специальные приемы и техники, которые очень сильно улучшают качество кода.



Вот собственно эти приемы и техники мы и обсудим на ближайшем митапе в этот четверг 18 марта в 19 часов по МСК. Обсуждать будем на конкретном примере конкретной мини конфигурации.



PS завтра расскажу подробнее про @zeegin и почему его стоит послушать