Идеи и инсайты

Исследуем AI-first разработку, кодовые ограждения и архитектуру одноразовости.

Текстовые редакторы позволяют писать невалидный код. Древовидные редакторы не позволили бы.

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

У каждого языка программирования есть формальная грамматика. Компилятор читает её, строит parse tree и отвергает всё, что не подходит. Редактор полностью…

Donald Knuth хотел, чтобы программы читались как литература. У компилятора были другие планы.

Literate programming обещала, что код должен писаться в первую очередь для людей, а во вторую — для машин. Четыре десятилетия спустя почти никто так не пишет. Вот почему самая элегантная идея в документировании программного обеспечения не смогла изменить наш способ работы.

В 1984 году Donald Knuth опубликовал статью, в которой предложил радикальное изменение. Программы не должны писаться для компиляторов и комментироваться для…

Исправить баг — просто. Понять, почему он существует, — вот что важно.

Большинство команд исправляют дефекты и двигаются дальше. Те же дефекты возвращаются. Вот как запустить причинный анализ внутри Fagan inspection, чтобы перестать писать один и тот же баг дважды.

У каждой команды есть тот самый дефект, который постоянно возвращается. Off-by-one в пагинации. Пропущенная проверка на null в middleware аутентификации. Race…

Ревью Pull Request выявляет 15–30 % дефектов. Данные говорят об этом уже 50 лет.

Множество исследований в IBM, AT&T, HP и Microsoft подтверждают, что неформальное code review выявляет примерно четверть дефектов. Вот что данные говорят на самом деле, почему этот показатель так низок и как это исправить.

Неформальное code review выявляет от 15 до 30 процентов дефектов, присутствующих в проверяемом коде. Это не мнение. Это вывод, который был воспроизведён на…

Универсальный чек-лист ничего не ловит. Структурированный ловит 60 % дефектов.

Большинство чек-листов для ревью — это скопированные списки благих намерений. Структурированный чек-лист в стиле Fagan inspection строится на основе реальных данных о дефектах, ориентирован на конкретные типы артефактов и используется во время индивидуальной подготовки. Вот как построить тот, который работает.

Если у вашей команды есть чек-лист для code review, есть немалая вероятность, что он живёт на вики-странице, которую никто не открывает. В нём, скорее всего,…

LLM может провести предварительную инспекцию кода. Но он не может провести собрание.

Инспекции Фагана требуют от четырёх до шести человек и двух часов на проверку 250 строк. LLM может сократить эти затраты, взяв на себя подготовку и соблюдение чек-листа, но не может заменить человеческие роли, которые находят самые дорогие дефекты.

Полноценная инспекция Фагана требует модератора, читателя, от двух до четырёх инспекторов и автора. Команда тратит два часа на проверку примерно 250 строк кода…

Fagan Inspections выявляли 90% дефектов до тестирования. Затем мы перестали их проводить.

Структурированный процесс ревью Майкла Фагана в IBM позволял находить почти все дефекты ещё до компиляции. Но он поглощал 15–20% общих трудозатрат проекта. Вот почему исчез самый эффективный метод ревью в истории разработки ПО и что команды на самом деле теряют.

В 1976 году Майкл Фаган опубликовал статью в IBM Systems Journal, в которой описал процесс ревью настолько эффективный, что он стал золотым стандартом качества…

Ваш лучший ревьюер пропускает большинство дефектов. Fagan измерил это в IBM в 1976 году.

Даже senior-инженеры находят лишь долю дефектов в неструктурированном review. Исследование Michael Fagan в IBM показало, почему, и построило структурированный процесс inspection для исправления этого.

Два senior-инженера ревьюят один и тот же pull request. Один отмечает пропущенный null check. Другой находит race condition в cleanup path. Ни один из них не…

Большинство code review находит 20% дефектов. Fagan inspections находят 90%.

Неформальное code review выявляет 15–30% дефектов. Fagan inspections — структурированный 50-летний процесс — стабильно демонстрирует показатели устранения 60–90%. Вот как они работают, почему команды избегают их и как запустить облегчённую версию.

Большинство code review находит от 15 до 30 процентов дефектов, которые должны были обнаружить. Это не догадка. IBM измерила это в 1970-х, и исследования в…

AutoVerus превращает 40 часов написания proof в 3 вызова LLM. Хитрость в том, чтобы знать, когда сдаваться.

AutoVerus использует сеть агентов LLM для генерации proof корректности Verus для кода на Rust, автоматизируя более 90% proof obligations через цикл generate-repair-discharge, управляемый обратной связью SMT-solver.

Самая сложная часть формальной верификации никогда не заключалась в verifier. Она заключается в написании proof. Дайте опытному инженеру по Rust Verus —…