Какими принципами написания кода вы руководствуетесь?

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

Ответ

Основные принципы, обеспечивающие качество и поддерживаемость кода:

  • DRY (Don't Repeat Yourself) – избегание дублирования логики. Повторяющийся код выносится в функции, утилитарные классы или расширения.
  • KISS (Keep It Simple, Stupid) – предпочтение простых, прямолинейных решений сложным и «умным».
  • Принципы SOLID – особенно:
    • Single Responsibility (SRP): Класс/модуль должен иметь одну и только одну причину для изменения.
    • Dependency Inversion (DIP): Зависимости должны строиться на абстракциях (протоколах), а не на конкретных реализациях.
  • Чистое именование – имена переменных, функций и классов должны явно отражать их назначение.
  • Самодокументируемый код – комментарии пишутся только для объяснения почему (неочевидная бизнес-логика), а не что делает код.

Пример:

// Неясное именование
func process() { ... }

// Ясное, самодокументируемое именование
func loadUserProfile(completion: @escaping (Result<User, Error>) -> Void) { ... }