Какие правила хорошего кода важно соблюдать и что ломается при нарушении?
Продвинутые темы
Правила хорошего кода: читаемость, единственная ответственность, DRY, KISS, понятные имена, слабая связанность, обработка ошибок, тесты. При нарушении код становится хрупким, запутанным и трудно поддерживаемым.
Правила и что ломается при нарушении
Читаемость и понятные имена
Понятные имена, ясная структура. Нарушение: непонятный код, долгое чтение, ошибки при изменении.
Единственная ответственность (SRP)
Функция/модуль делает одно. Нарушение: «божественные» функции, трудно тестировать и менять, каскадные баги.
DRY (не повторяйся)
Логика в одном месте. Нарушение: дублирование → правки в нескольких местах, рассинхрон, баги.
KISS (проще)
Без лишней сложности. Нарушение: переусложнение, трудно понять и поддерживать.
Слабая связанность
Модули независимы. Нарушение: изменение одного ломает другое, хрупкость, сложный рефакторинг.
Обработка ошибок
Учтены крайние случаи. Нарушение: падения в проде, необработанные ошибки.
Тестируемость и тесты
Код покрыт тестами. Нарушение: регрессии, страх менять код.
Консистентность (линтеры, стиль)
Единый стиль. Нарушение: разнобой, споры, снижение читаемости.
Общий итог нарушений
Код становится хрупким (легко сломать), запутанным (трудно понять), немасштабируемым (тяжело развивать), с багами и высокой стоимостью поддержки.
Коротко для собеседования
Правила хорошего кода: читаемость, понятные имена, единственная ответственность (SRP), DRY, KISS, слабая связанность, обработка ошибок, тесты, единый стиль. При нарушении: дублирование → рассинхрон, «божественные» функции → трудно тестировать, сильная связанность → хрупкость, нет тестов → регрессии. Итог — хрупкий, запутанный, дорогой в поддержке код.