Обсудить проект
Компания Проекты Мысли Контакты Обсудить проект
Обратно

Спецификации вместо кода

Да, сегодня код уже не в дефиците. А вот понимание того, как устроена система и почему она работает именно так, становится всё ценнее.

Вижу это на наших старых проектах на «Битриксе». Некоторым по десять лет. За это время проект успевает сменить нескольких разработчиков, пережить обновления PHP, замену модулей и новые интеграции с 1С. Что-то переписывают, что-то годами никто не трогает.

Так у проекта появляется своя логика. Снаружи её не видно.

Например: файл old_import.php. Я бы по названию решил, что это мусор от старой версии и его давно пора удалить. Но именно через него каждую ночь приходит часть данных из 1С.

Вот поле в заказе, которое вроде бы дублирует стандартное. Удалишь, и сломается интеграция пятилетней давности.

Наш разработчик всё это знает. У него в голове есть модель системы, которой нет ни в коде, ни в документации. Эта модель складывалась годами, пока он писал код сам.

С ИИ до готового кода теперь можно дойти за минуты. Открываешь проект, просишь добавить вход по SMS и получаешь вполне приличную реализацию. Только про контекст проекта этот код ничего не знает и ничего не расскажет.

Поэтому я всё больше смотрю в сторону спецификаций.

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

Вот, например, спецификация входа по SMS:

Пользователь входит по номеру телефона. Код действует пять минут. Новый код отменяет предыдущий. Повторно отправить код можно через минуту, не чаще пяти раз в час. Если пользователя с таким номером нет, после подтверждения создаётся новый аккаунт. Стандартную регистрацию «Битрикса» не трогать: на ней держится обмен с 1С.

Всего шесть предложений, но в них есть то, чего в коде не найти. Например, почему регистрацию нельзя менять.

Такие описания дописываются по ходу работы. Со временем из них собирается документация, которая хранит не только то, что сделано, но и то, почему.

Вероятнее всего именно этим и будут заниматься разработчики. Код напишут Кодексы и Клоды. А объяснять им, почему old_import.php нельзя удалять, придётся нам.