Каковы характеристики хорошего кода?

«Каковы характеристики хорошего кода?» — вопрос из категории Архитектура, который задают на 10% собеседований IOS Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Хороший код — это прежде всего код, который легко понять, изменить и поддерживать другим разработчикам (или вам самим через полгода). Его основные характеристики:

Принцип Описание Пример (Swift)
Читаемость Имена переменных, функций и классов ясно отражают их назначение. Соблюдается единый стиль (например, Swift API Design Guidelines). func calculateTotalPrice(for items: [Item]) -> Decimal вместо func calc(_ i: [Item]) -> Dec
Простота (KISS) Каждая сущность (функция, класс) решает одну четкую задачу. Отсутствует преждевременная оптимизация и избыточная абстракция. Разделить монолитную функцию processDataAndUpdateUI() на parse(data:), validate(model:), updateView(with:).
Модульность и слабая связность Код разбит на независимые компоненты с четкими интерфейсами. Изменение одной части системы минимально затрагивает другие. Использование протоколов для абстракции зависимостей, что упрощает тестирование.
Повторное использование (DRY) Исключено дублирование логики. Повторяющийся код вынесен в общие функции, утилиты или базовые классы. Вместо копирования блока форматирования даты в 10 местах — создать функцию formatDate(_:).
Тестируемость Код написан так, чтобы его можно было легко проверить автоматическими тестами (юнит-тестами). Зависимости (сеть, база данных) инжектируются, а не создаются внутри класса напрямую.

Итог: Хороший код снижает когнитивную нагрузку, уменьшает количество ошибок и ускоряет разработку в долгосрочной перспективе.