Грабли

Разбирал чужой проект и наткнулся на три числа: 461, 466, 457.

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

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

Через месяц в журнал не было дописано ни одной строки. А три источника разошлись.

Вывод, который я забрал себе и повесил в правила:

Правило, живущее только в промпте - это намерение, а не механизм.

Модель прочитала. Модель согласилась. Модель не выполнила, потому что у неё нет обязанности выполнять - у неё есть склонность.

Что теперь уходит в код без обсуждения: арифметика, даты, идемпотентность, деньги. Всё, где расхождение видно не сразу, а через месяц, когда доверие уже потеряно.

У того же автора рядом лежит ещё честнее: 5863 строки отличного детерминированного Python, который в бою не вызывался ни разу. Ни одна из трёх баз данных не создана. Он написал прекрасный слой и не довёл до него живого пользователя.

Код, не встроенный в путь пользователя, эквивалентен ненаписанному.

Сколько у вас правил живёт в промпте, хотя должно было стать функцией?

Грабли | Сетка — социальная сеть от hh.ru