design-by-contract

3 posts

Ваш слой валидации больше самой бизнес-логики

Ручная валидация раздувает codebase и всё равно пропускает крайние случаи. Вот как обеспечить runtime contracts с помощью декларативных схем, которые не мешают.

Каждый раз, когда ваш API получает запрос, вы его валидируете. Каждый раз, когда функция получает аргумент из внешней системы, вы его проверяете. Делайте это…

AI Safety Stack: types, contracts, property tests и mutation gates

Если вы хотите, чтобы AI-generated code выдерживал production, одного code review недостаточно. Нужен многослойный safety stack: от type constraints до mutation testing и runtime containment.

Самое опасное в AI-generated code не в том, что он всегда неправильный. Самое опасное в том, что он слишком часто выглядит достаточно правдоподобно, чтобы его…

Почему сильные инженерные идеи оставались нишевыми, пока AI не сделал их экономически реальными

Design by contract, property-based testing, mutation testing и model checking не были плохими идеями. Их было слишком дорого поддерживать с точки зрения специализированных знаний. AI меняет это уравнение.

В software engineering полно идей, которые кажутся очевидно правильными в ту же секунду, когда ты их читаешь. Разумеется, contracts должны определять, что…