Встречается на собеседованиях • сегодня

Какими принципами разработки руководствовался при проведении code review

  1. SOLID - проверяю соблюдение принципов:

    • SRP (один класс - одна ответственность)
    • OCP (расширяемость через наследование/композицию)
    • LSP (корректная работа подклассов вместо родителя)
    • ISP (узкоспециализированные интерфейсы)
    • DIP (зависимости от абстракций)
  2. KISS/YAGNI - простота кода, отсутствие избыточности

  3. DRY - устранение дублирования

  4. Читаемость - понятные названия, адекватная сложность методов

  5. Тестируемость - минимум side effects, mockable зависимости

Пример плохого кода:

java
// Нарушает SRP, DRY, читаемость
void process() {
    // 100 строк логики + DB access + HTTP calls
}

Хороший вариант:

java
// Разделено по ответственностям
@DataProcessor
class OrderProcessor {
    private final OrderValidator validator;
    private final OrderRepository repo;
    
    void process(Order order) {
        validator.validate(order);
        repo.save(order);
    }
}

Также проверяю: thread-safety, обработку ошибок, логгирование, performance-нюансы.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы