1C v8 Кругов ада. - leoniv/ass_tests GitHub Wiki

Вступление

Я не открою тайну если скажу, что разработка ПО должна вестись от общего к частному или от абстрактного к конкретному. Чем выше степень абстракции, тем выше степень повторного использования кода. Однако, есть мнение, что заниматься обобщением и абстрагированием долго, а проще написать кусок кода покрывающий сиюминутную потребность. Часто при таком подходе к разработке, для ускорения работы, прибегают к копированию больших кусков уже написанного ранее кода, что приводит к разрастанию текста до немыслимых размеров и прочим более серьёзным, чем физический размер текста, негативным последствиям.

В процессе длительного жизненного цикла программы, получается такая картина:

Больше абстракций → выше степень переиспользования → меньше кода → меньше затрат. Затраты снижаются за счет уменьшения количества нового кода и простоты сопровождения и развития уже написанного кода. То время которое потрачено на обдумывание и создание абстракций окупаются много раз.

Меньше абстракций → ниже степень переиспользования → больше кода → больше затрат. Затраты растут как за счет увеличения количества нового кода так и за счет сложности сопровождения и развития уже написанного кода. При этом не спасет даже скорость с которой можно создавать много текста методом копи-паст.

Проблема платформы 1С:Предприятие

Платформа 1С, сама по себе, является платформой разработки и исполнения приложений очень высокого уровня абстракции. Она дает в руки разработчикам очень крупные строительные блоки из которых можно очень быстро построить достаточно развитое бизнес приложение но только в том случае если это приложение будет предназначено для ведения сферического бухгалтерского учета в вакууме. А дьявол как известно в мелочах.

В теории изложенной в "ЖКК" (желто-красные книги руководства по платформе 1С не путать с желудочным кровотечением) для создания такого приложения даже не надо писать программный код, а можно все сделать с помощью мыши. Ох как же это далеко от реальности. Дав в руки разработкам огромные куски бухгалтерского учета, разработчик платформы 1С приложили к этим глыбам, кране скупой и убогий язык программирования (я молчу про среду разработки которую авторы 1С назвали идиотским словом Конфигуратор). Ну да и бог бы с ним с этим убогим языком, в конце концов того чего не хватает в поставке языка можно допилить на самом этом языке. Но нет в довесок ко всему этому убожеству разработчики платформы 1С заковали все это в цитадель именуемую "Конфигурация" из которой ни вырваться наружу (дать людям код для использования) ни получить передачу с воли (подключить чужой код) нет ни какой возможности.