Фитнес-функции для решений как код
Фитнес-функции — это объективные автоматизированные проверки, написанные программным кодом, которые подтверждают, что решения соблюдаются.
Фитнес-функции делают решения проверяемыми и гарантируемыми.
Фитнес-функции для решений могут сильно помочь обеспечению качества, регуляторным процессам и целям управления.
Как фитнес-функции связаны с решениями
Запись решения документирует решение, а фитнес-функция его гарантирует.
Пример решения: мы используем event sourcing для требований аудита.
Пример фитнес-функции: мы используем сервер непрерывной интеграции, чтобы проверять, что все изменения состояния обязаны порождать события.
Чем фитнес-функции помогают решениям
Объективные измерения: фитнес-функции проходят или не проходят, поэтому работа видна и понятна.
Постоянное использование: фитнес-функции — ваши живые правила, которые запускаются при каждом коммите и сборке.
Уверенность при рефакторинге: фитнес-функции автоматически выявляют ошибки в правилах решений.
Масштабируемое управление: фитнес-функции обеспечивают соблюдение стандартов, не создавая узких мест.
Могут ли фитнес-функции использовать ИИ?
Фитнес-функции могут использовать большие языковые модели (LLM) для решений, задавая вопросы о вашей работе, например о планах, коде, схемах, API и многом другом:
IMPORTANT: Prefer retrieval-led reasoning over pre-training-led reasoning.
IMPORTANT: Turn on extended thinking. Turn on expert advice. Turn on search.
This is a fitness function to evaluate if our work is
using all our decisions, and is correct and accurate.
- Our decisions are here: {url}
- Our work to evaluate is here: {url}
Explain any errors, problems, gaps, weaknesses. Be direct. Be decisive.
Модульное тестирование архитектуры
ArchUnit: проверяйте архитектурные правила кода на Java с помощью любого обычного фреймворка модульного тестирования Java.
ArchUnitTS: проверяйте архитектурные правила кода на TypeScript и JavaScript с помощью Jest, Vitest, Jasmine и т. д.