Како одржавати усклађеност спецификације, документације, демонстрације и кода
Овај водич описује практичан ток рада за дугорочно одржавање усклађености спецификације производа, документације, понашања демонстрације и имплементационог рада.
Основни проблем
Одступање производа ретко почиње драматичном грешком. Обично почиње малим неусклађеностима.
Примери:
- демонстрација дода нови ток рада, али се спецификација никада не ажурира
- документација описује функционалност која се више не понаша тако
- код имплементира згодну пречицу која крши правило производа
- валидационе провере спроводе само синтаксу, а не намеру производа
AI може убрзати све ово ако је ток усклађивања слаб.
Модел усклађивања
Користите овај редослед ауторитета:
- спецификација производа
- имплементационе смернице
- документација тренутног стања
- понашање демонстрације или апликације
- тестови и валидациона правила
Нижи слојеви треба да подржавају више слојеве. Ако су у сукобу, ажурирајте ланац намерно уместо да подразумевано победи највидљивији артефакт.
Препоручени ток рада
1. Почните од промене у спецификацији
Ако се мења кориснику видљив ток рада или правило производа, прво ажурирајте одговарајућу спецификацију или смернице.
Користите:
AGENTS.mdза правила и токове рада на нивоу производаAGENTS-Implementation.mdза тактичка правила репозиторијума и испоруке
2. Ажурирајте документацију тренутног стања
Ако промена утиче на оно што тренутно постоји, ажурирајте документацију која описује тренутно стање.
Типични примери:
README.mddocs/Development.mddocs/Deployment.md- нови или ревидирани садржај у learning/wiki/blog секцијама где је релевантно
3. Ажурирајте демонстрацију или имплементацију
Тек када је намера јасна, треба мењати демонстрацију или апликацију.
То помаже да се спречи чест образац у коме прототип тихо постаје извор истине.
4. Додајте или ажурирајте валидацију
Затим питајте шта може аутоматски да се провери.
Примери:
- потпуност локализационих кључева
- присуство обавезних фајлова
- генерисање метаподатака
- валидација линкова
- тестови специфични за ток рада
Не може свако правило одмах да се аутоматизује, али важна правила не би требало да остану зависна само од памћења.
5. Прегледајте у односу на спецификацију, не само на излаз
Када прегледате промене, немојте стати на питањима:
- да ли се покреће
- да ли изгледа добро
- да ли тестови пролазе
Питајте и:
- да ли се поклапа са документованим током рада
- да ли чува тражену границу производа
- да ли су документација и опис тренутног стања остали поштени
Како поступати са открићима из демонстрације
Понекад демонстрација научи тим нечему бољем од оригиналне спецификације.
То је корисно. Исправан одговор је:
- документовати откриће
- одлучити да ли је промена тока рада намерна
- ажурирати спецификацију и документацију
- одржати имплементацију усклађеном са ажурираном одлуком
Погрешан одговор је пустити да демонстрација тихо победи само зато што већ постоји.
Како поступати са имплементацијом уз помоћ AI
Са AI-јем овај ток рада постаје још важнији, јер асистенти често оптимизују локалну вероватноћу.
Добра петља усклађивања је:
- напишите или ажурирајте спецификацију
- генеришите имплементацију
- упоредите излаз са спецификацијом
- ажурирајте документацију ако се тренутно понашање променило
- додајте валидацију где је то практично
Пример Let Books
Репозиторијум већ садржи користан ланац усклађивања:
AGENTS.mdза правац производаAGENTS-Implementation.mdза тактичка правилаREADME.mdза приказ тренутног стањаdocs/за правила знања и објављивања- документацију о развоју и објављивању за смернице валидације
Ту структуру треба намерно користити кад год се додају нове функционалности, документација или јавна објашњења.
Контролна листа
Пре спајања значајне промене проверите:
- Да ли је правило производа или ток рада јасно документован?
- Да ли се документација тренутног стања и даље поклапа са стварношћу?
- Да ли демонстрација или имплементација одражава намеравано правило?
- Да ли постоји бар један валидациони или прегледни механизам који штити промену?
- Да ли би нови сарадник касније могао да разуме ту одлуку?
Даље читање
../spec-driven-content-program.md../wiki/sr-Cyrl/demo-spec-alignment.md../wiki/sr-Cyrl/spec-driven-development.md../blog/sr-Cyrl/spec-driven-development-in-let-books.md