Код обычно становится неудобным не резко, а по чуть-чуть

800 строк в одном файле - это редко про “плохой код”, чаще это про код, который слишком долго рос без явной границы.

Сначала в файл добавляют одну ветку, потом ещё одну проверку, потом обработку ошибки, потом уведомление… и каждый раз это выглядит разумно, потому что рядом уже есть похожий код, и вроде бы проще дописать здесь, чем разносить по слоям. Проблема в том, что через полгода открываешь этот файл и сначала восстанавливаешь в голове его карту, а уже потом вносишь правку.

Я много раз видела один и тот же сценарий: архитектура в целом нормальная, имена понятные, всё выглядит прилично. Но конкретный файл уже тянет на себе несколько разных задач и вот тут начинается самое неприятное - любая маленькая правка требует лишнего чтения, ревью становится тяжелее, а сам модуль начинает внушать лёгкое недоверие просто из-за размера и размытых границ.

Для себя я давно вывела простой ориентир. Если у частей кода разные причины меняться, им, скорее всего, не место в одном файле. Не потому что “так красиво”, а потому что так потом проще жить всем, кто откроет этот код после тебя.

Подробно разобрала это на Хабре на живых примерах - там как раз про то, почему файл вырастает не одномоментно, где большой размер ещё терпим, а где уже начинает мешать работать. Если тема знакома, полная версия здесь - https://habr.com/p/1033218/

Код обычно становится неудобным не резко, а по чуть-чуть | Сетка — социальная сеть от hh.ru