Обновить

Комментарии 3

Выбор грепа вместо вектора на таких объемах спорным не выглядит, а вот ручное правило «одно понятие, один файл» — самое хрупкое место конструкции: оно держится на дисциплине и в команде из пяти человек размывается первым. Тут просится проверка в CI: у каждого файла в memory/ есть строка в индексе, каждая строка индекса ведет на существующий файл, дублей заголовков нет — дешевле, чем ловить расхождения глазами на ревью. Такой линтер у вас уже есть, или согласованность индекса и файлов пока целиком на аккуратности автора?

Спасибо, предложение по делу! Линтера пока нет - согласованность целиком
на аккуратности автора, и вы указали ровно на ту цену подхода, которую
озвучена в статье. Первые два инварианта (у каждого файла
есть строка в индексе, каждая строка ведет на существующий файл) - прямо
напрашиваются в pre-commit. А вот семантические дубли - когда два файла
на одно понятие названы по-разному - линтер не поймает, это остается на ревью.
Индекс намеренно не уникальный ключ: на стыке общего и частного модель
открывает оба файла, так что структурный линтер отсечет идентичный дубль,
но близкие по смыслу заголовки развести не сможет.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации