ревью: цикл задачи проверяет механику, метки сняты
Состав прогона постоянный: гейт, спеки, код, триаж; приёмник тем идёт, когда у проекта есть свои темы. Метка, разметка и проход review-scope упразднены, review-levels.md удалён, ось «метка» снята из axes.md. Ступень 4 ушла из цикла: review-proof упразднён через день после заведения, review-architecture переехал в code-deep-review вслед за adversary и ops. Темы security, operations и architecture закрывает review-code сверкой с записанными инвариантами, потолком 1 находка. Умолчание разметки действий перевёрнуто на инлайн; развилка осталась за необратимым, изменением дельта-спек и нарушенным инвариантом. Задачи из урожая заводятся по слову человека, а не шагом сценария. Чекпоинт назван единственным местом, где решается форма решения. Потеряны ось времени в цикле и суждение о форме после кода — обе потери названы в «Честном пределе» строкой границ покрытия. Журнал — тема 77.
This commit is contained in:
@@ -30,25 +30,24 @@
|
||||
Тест выше говорит, **допустим** ли разрез. Где его провести из нескольких
|
||||
допустимых мест — отвечает шов.
|
||||
|
||||
**Шов — там, где падает метка ревью.** Раздел «Затрагивает» перечисляет
|
||||
границы; если одна строка перечня поднимает метку выше остальных, эта часть и
|
||||
режется отдельно. Пример: задача перекладывает несколько узлов разом и заодно
|
||||
добавляет два поля в существующий ответ. Целиком это `large` — полный состав проходов по
|
||||
всему диффу, включая те, что держат машину и идут цепочкой. Разрезанная по шву,
|
||||
она даёт `large` на маленькой переложенной части и `medium` на остатке.
|
||||
**Шов — там, где меняется род работы.** Раздел «Затрагивает» перечисляет
|
||||
границы; если одна строка перечня стоит особняком от остальных — трогает другой
|
||||
слой, переносит ответственность, вводит новое понятие, — эта часть и режется
|
||||
отдельно. Пример: задача перекладывает несколько узлов разом и заодно добавляет
|
||||
два поля в существующий ответ; переложенная часть и добавленные поля проверяются
|
||||
по-разному человеком, хотя конвейером — одинаково.
|
||||
|
||||
**Считай костяк, а не файлы.** У каждой задачи есть несокращаемые четыре прохода
|
||||
(гейт, спеки, код, триаж), и они платятся за каждую. Разрез, после которого обе
|
||||
половины остаются в одной метке, делает ревью **дороже**: тот же объём
|
||||
проверяется тем же составом, но костяк оплачен дважды. Отсюда правило: **резать,
|
||||
когда разрез снимает дорогой проход с большей части диффа**, и не резать, когда
|
||||
он просто делает файлы мельче.
|
||||
**Ревью на цену разреза больше не влияет.** Состав прогона постоянный: гейт,
|
||||
спеки, код, триаж плюс приёмник тем, — и каждая половина платит его целиком.
|
||||
Значит, разрез удваивает костяк ревью **всегда**, а не только когда обе половины
|
||||
остаются в одной метке; выигрыш он даёт не в проверке, а в том, что каждая
|
||||
половина доводится и мерджится сама по себе. Прежде здесь стояло правило «резать,
|
||||
когда разрез снимает дорогой проход с большей части диффа» — снимать больше
|
||||
нечего.
|
||||
|
||||
**Это планирование, а не предписание процесса.** Метка ревью выбирается по
|
||||
факту изменения — тем, кто его видит, — и в тело задачи не пишется: строка
|
||||
«делать с меткой medium» это ровно тот второй дом правила выбора, который
|
||||
гигиена полей снимает. Шов пользуется меткой как **признаком**, что в задаче
|
||||
две разнородные работы; решение о метке остаётся за конвейером.
|
||||
**Это планирование, а не предписание процесса.** Как проверять изменение, решает
|
||||
конвейер, увидев его; в тело задачи это не пишется — строка «делать вот так» и
|
||||
есть тот второй дом правила, который гигиена полей снимает.
|
||||
|
||||
## Что делать с родителем
|
||||
|
||||
|
||||
Reference in New Issue
Block a user