Для начала поясню, что такое псевдо- или субпрограммист. На самом деле в этих людях нет ничего страшного, и они никому не причиняют вреда.
Это определенная когорта лиц, осмелившихся считать себя программистами, но на самом деле это те, кто программирует (опять это слово) в среде 1С-предприятия.
И я один из них.
И довольно долго.
На самом деле я попал в эти ряды не случайно, а совершенно сознательно.
И причина этому проста – нужно было как-то кормить.
Видимо, я не очень талантливый человек, потому что не очень хорошо зарабатывал на жизнь программистом C++/MFC. Ну это все лирика, к делу не имеет никакого отношения.
Я хотел сказать другое.
Я тварь дрожащая или имею право называться программистом? Многие смеются над убогостью так называемого «встроенного языка программирования 1С»; мы называем этот язык проще — v7 или v8, в зависимости от версии.
Скажу сразу - язык примитивен до невообразимости.
Например, он полностью на русском языке, что поначалу очень радует и в то же время раздражает, нет ни намека на ООП, хотя почему это не было реализовано в v8 мне непонятно, есть чудесные логические нестыковки в обе версии языка.
Мозгу нормального программиста от этого становится тесно, извилины расправляются, навык падает. Это неоспоримый факт. Но, господа присяжные, является ли инструмент причиной деградации? Разве причина не в самом человеке? Глядя на код типовых конфигураций (это коробочные решения, написанные специалистами компании 1С на языке 1С для автоматизации учета), хочется плакать, а потом застрелиться, настолько все феерично.
Думаю, именно из-за них появился термин «псевдопрограммист».
Основная проблема с обслуживанием заключалась в том, что там он был затянут, а в других местах сломался в десяти местах.
Казалось бы, при проектировании сложно соблюсти простейшие принципы культурного программирования, ведь предпосылки есть.
Кто заставляет разработчиков напрямую обращаться к данным конкретного объекта? Вы можете написать методы get/set, запихнув в них необходимые проверки.
Особенно это актуально, если несколько человек рубят конфигурацию и кто-то вдруг что-то меняет под свои нужды в глобальной (это общая песочница с глобальными функциями).
Кто вам мешает создать универсальную библиотеку простых функций и использовать ее от конфигурации к конфигурации? Кто запрещает всем сообщениям об ошибках присваивать уникальные идентификаторы и обрабатывать их централизованно? Сложно ли реализовать механизм логирования в зависимости от необходимого уровня вывода сообщений? Я постоянно вижу процедуры длиной в сотни строк.
Почему бы не разбить огромную процедуру на более мелкие части? Соглашение об именовании переменных тоже никто не отменял, и договориться можно так, как удобно команде; Ангарские записи здесь не требуются.
Таким же образом вы можете принять соглашение о дизайне интерфейса, например, я стандартизировал размеры и размещение виджетов на формах.
А ещё можно использовать целую кучу полезных вещей чисто «аденезовой» специфичности.
В результате код станет на порядок, а то и на два порядка проще в обслуживании.
Но ни в одной конфигурации 1С я такого не встречал.
Каждый творит так, как Бог вкладывает ему в сердце и как ему заблагорассудится.
Но почему? Я думаю, это потому, что 1С — это просто.
Цикл разработки конечного продукта очень короткий.
Я говорю на примитивном языке, и мне не нужно знать английский.
Любая девушка с элементарными знаниями в области бухгалтерского учета может изучить основы, как минимум писать отчеты и называть себя программистом.
Я не спорю, что эта девушка потенциально отличный парень.
Но так же, как и с получением прав на вождение автомобиля – там, где двухмесячных курсов явно недостаточно, культуру нужно прививать, а прививать ее некому, так как слой «адинов» лежит где-то в стороне от сообщество программистов.
И я не знаю, что с этим делать.
Может быть, эта заметка поможет «псевдо» части немного задуматься и своим примером освободить специалистов 1С от этой унизительной приставки.
Теги: #1с #программирование #другой взгляд #Чулан
-
Гипофиза
19 Oct, 24 -
Нетипичная История «Домашнего» Провайдера
19 Oct, 24 -
С Днем Тестировщика!
19 Oct, 24