TYPE нужен только для того, чего не выражает язык
Повторить в комментарии слово «Число» недостаточно. Полезный TYPE уточняет отсутствие, диапазон, точность, допустимые состояния или доверенность внешнего значения.
КредитныйЛимит
// TYPE: Число >= 0 или Неопределено; 0 не означает отсутствие
// WHY: лимит участвует в проверке возможности отгрузки
= Настройки.КредитныйЛимит;Ноль и отсутствие — разные состояния
Если модель склеивает эти состояния, последующий HOW не сможет восстановить потерянный смысл.
Решите, нужен ли TYPE
- КоличествоСтрок — обычное неотрицательное целое, проверяемое конструктором.
- СуммаПлатежа — два знака после запятой, null запрещён, отрицательное значение недопустимо.
- СтатусОтвета — только «Принят», «Отклонён» или «Ожидает».
TYPE полезен во втором и третьем случаях, если эти ограничения не представлены предметным типом или валидатором.
Самопроверка
- TYPE добавляет новое ограничение?
- Можно ли выразить ограничение типом, схемой или валидатором?
- Разделены ли ноль, пустота и отсутствие?