К основному содержанию
A1sCode
Быстрый старт
Архитектура9 минут

MILA-комментарий:
сохранить причину решения

Как комментировать присваивания так, чтобы фиксировать бизнес-намерение, временную границу и защиту от неверной интерпретации.

Главный тезисСильный комментарий рядом с присваиванием объясняет не вычисление, а решение, которое невозможно однозначно восстановить из формулы.

Имя переменной и правая часть присваивания хорошо показывают вычисление, но часто скрывают временную модель и причину, по которой значение участвует в бизнес-решении. MILA добавляет этот недостающий слой намерения.

01

Присваивание показывает формулу, но не решение

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

Формула отвечает на вопрос «из чего посчитано». Намерение отвечает на вопрос «зачем это значение существует».

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

02

Что фиксирует MILA-комментарий

В A1sCode мы используем MILA как практику Meaningful Intent-Layered Assignment: присваивание получает отдельный смысловой слой, который невозможно надёжно восстановить только из синтаксиса.

1

Намерение

Какое бизнес-решение готовит вычисляемое значение?

2

Граница состояния

Описывается текущее состояние или прогноз после выполнения операции?

3

Защита от ошибки

Какую неверную интерпретацию должен предотвратить комментарий?

Такой комментарий не обязан быть длинным. Его задача — добавить ровно тот факт, который изменяет понимание следующей строки.

03

Пример: задолженность после отгрузки

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

Проверить лимит после отгрузкинамерение → прогноз → решение MILA
// Решение принимается по прогнозному состоянию после выполнения заказа
ЗадолженностьПослеОтгрузки
    = ТекущаяЗадолженность
    + СуммаКОплате;
Если ЗадолженностьПослеОтгрузки
        > КредитныйЛимит Тогда
    ВызватьИсключение "Превышен кредитный лимит";
КонецЕсли;
Что стало видимым?

Комментарий задаёт временную границу, имя переменной закрепляет новое состояние, а условие читается как готовое правило — без мысленного восстановления контекста.

04

Комментарий должен менять интерпретацию

Пересказ синтаксиса// Рассчитываем задолженность

Повторяет имя переменной и не объясняет, почему расчёт нужен именно здесь.

MILA-комментарий// Решение принимается по состоянию после заказа

Уточняет временную модель и защищает от проверки текущего долга вместо прогнозного.

Практический тест прост: удалите комментарий и спросите, может ли опытный разработчик однозначно восстановить тот же смысл. Если нет — комментарий содержит полезное намерение. Если да — вероятно, он только дублирует код.

05

Почему это помогает ревью и обучению моделей

На ревью MILA-комментарий позволяет обсуждать не отдельную арифметику, а корректность выбранной модели состояния. Ревьюер сразу видит, что нужно проверять: должна ли сумма заказа входить в прогноз, в какой момент учитываются оплаты и что происходит на границе лимита.

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

06

Четыре проверки перед сохранением

  1. 01
    Комментарий объясняет причину?

    Он не пересказывает оператор и имя переменной.

  2. 02
    Граница состояния названа?

    Понятно, относится значение к состоянию до, во время или после операции.

  3. 03
    Из комментария следует проверяемое правило?

    Ревьюер может сопоставить намерение с формулой и последующим условием.

  4. 04
    Комментарий останется правдивым после рефакторинга?

    Он описывает устойчивое решение, а не случайную деталь реализации.

MILA полезна не потому, что добавляет комментарии, а потому, что сохраняет бизнес-решение рядом с точкой, где оно превращается в значение.

Следующий материал

Как перенести это намерение из комментария в структуру fluent-цепочки

Читать про Fluent API