🤔 Пятничное: Программисты ошибаются, потому что мы им позволяем.
Проекты 1С часто живут годами и включают несколько конфигураций с тесными связями между модулями.
Изменение одного механизма может влиять на работу в другом месте - и неожиданно станет проблемой в проде.
Часто доработки делают внешние подрядчики. Тестирование - вручную, и только в зоне изменений.
О побочных эффектах узнаем по всплескам инцидентов в сервис-деск.
Даже если бы команда решилась проvводить полное ручное тестирование при каждом изменении, бюджеты и сроки взлетели бы в разы - динамика изменений раздула бы ресурсы до неприемлемых величин.
❗ Это не вина разработчиков - это сломанная система.
🧩 С чем мы сталкиваемся
- Копипаст с небольшими правками, без учета контекста, приводит к непредсказуемым логическим ошибкам.
- Функции, рассчитанные на простые сценарии, падают при нетиповом вводе или редких сочетаниях.
- Потеря производительности, проявляющаяся только при реальной нагрузке и больших объемах данных.
- Отсутствие логов и инструментов аналитики, из-за чего выявление причины сбоя превращается в “угадайку”.
📌 В результате даже маленький коммит становится шагом в неизвестность - не по вине программиста, а потому что система не защищает никого: ни инженера, ни менеджера, ни бизнес.
✅ С чего начать
- CI/CD. Даже простой процесс сборки и проверки в пайплайне снизит риски.
- Автотесты - пусть и запускаемые вручную перед релизом. Это базовая страховка, куда проще начать, чем сразу автоматизировать все.
- Статический анализ и мониторинг. Используйте SonarQube или аналогичные инструменты, чтобы находить копипаст-ошибки, логические дырки и узкие места до выката.
Инженерная зрелость - это не отсутствие багов.
Это когда система:
- защищена от хаоса изменений,
- способна обеспечивать непрерывность сервиса,
- сохраняет репутацию и уверенность менеджмента.
