← Назад к вопросам

Кто автор книги "Чистый Код"

1.0 Junior🔥 51 комментариев
#Другое

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI22 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Чистый Код - классический труд Роберта Мартина

Автор книги "Чистый Код" (Clean Code: A Handbook of Agile Software Craftsmanship) — это Роберт Сесил Мартин, более известный как Uncle Bob (Дядя Боб).

Об авторе

Роберт Мартин — американский инженер-программист, один из создателей Manifesto for Agile Software Development (2001).

Основные работы Robert Martin

1. Clean Code: A Handbook of Agile Software Craftsmanship (2008)

Это основной труд, ставший библией для миллионов разработчиков:

// Пример из Clean Code: правильное именование

// ПЛОХО
int d; // прошедшее время в днях
public List<int[]> getThem() {
    List<int[]> list1 = new ArrayList<int[]>();
    for (int[] x : theList)
        if (x[0] == 4)
            list1.add(x);
    return list1;
}

// ХОРОШО
int daysSinceCreation;
public List<Cell> getFlaggedCells() {
    List<Cell> flaggedCells = new ArrayList<>();
    for (Cell cell : gameBoard)
        if (cell.isFlagged())
            flaggedCells.add(cell);
    return flaggedCells;
}

Основные темы:

  • Осмысленные имена переменных, функций, классов
  • Функции должны быть малыми и делать одно
  • Обработка ошибок через исключения
  • Комментарии: когда писать, когда нет
  • Форматирование кода
  • Тестирование

2. The Clean Coder: A Code of Conduct (2011)

// Профессиональный подход к разработке
public class ProfessionalDeveloper {
    public void sayNo() {
        // Профессионал может сказать НЕТ невозможному
    }
    
    public void takeResponsibility() {
        // Нести ответственность за свой код
    }
    
    public void continuousLearning() {
        // Постоянно учиться
    }
}

3. Clean Architecture (2017)

// Архитектурные слои:
// Presentation -> Application -> Domain
// Зависимости только ВНУТРЬ

public interface User {
    String getName();
    void changeName(String newName);
}

public class ChangeUserNameUseCase {
    private final UserRepository repository;
    
    public void execute(UserId id, String newName) {
        User user = repository.findById(id);
        user.changeName(newName);
        repository.save(user);
    }
}

SOLID принципы Uncle Bob

Роберт Мартин разработал SOLID — пять принципов объектно-ориентированного проектирования:

  • S — Single Responsibility: один класс имеет одну причину менять
  • O — Open/Closed: открыт для расширения, закрыт для модификации
  • L — Liskov Substitution: подклассы заменяют базовый класс
  • I — Interface Segregation: узконаправленные интерфейсы
  • D — Dependency Inversion: зависимости от абстракций

Известные цитаты Uncle Bob

  1. The only way to make the deadline is to keep the code as clean as possible at all times. Единственный способ сделать deadline — держать код чистым

  2. Always leave the campground cleaner than you found it. Boy Scout Rule: оставляй код чище, чем нашел

  3. The ratio of time spent reading code to writing code is well over 10:1. Мы 10x больше читаем код, чем пишем, поэтому читаемость критична

Практическое применение

// БЫЛО (грязный код)
public void pm(User u, String p) {
    if (p.length() < 8) {
        throw new Exception("Bad");
    }
    u.setPassword(p);
    SQL.execute("UPDATE users SET password=" + p);
    Email.send(u.getEmail(), "Password changed");
}

// СТАЛО (Clean Code)
private static final int MINIMUM_PASSWORD_LENGTH = 8;

public void changePassword(UserId userId, String newPassword) 
        throws InvalidPasswordException, UserNotFoundException {
    
    if (!validator.isValid(newPassword)) {
        throw new InvalidPasswordException(
            "Password must be at least " + MINIMUM_PASSWORD_LENGTH + " characters");
    }
    
    User user = userRepository.findById(userId)
        .orElseThrow(() -> new UserNotFoundException(userId));
    
    user.changePassword(newPassword);
    userRepository.save(user);
    emailService.sendPasswordChangedNotification(user.getEmail());
}

Влияние Uncle Bob

  • Соавтор Agile Manifesto (2001)
  • Популяризатор TDD (Test-Driven Development)
  • Создатель методологии Software Craftsmanship
  • Вдохновитель поколений разработчиков

Заключение

Роберт Мартин (Uncle Bob) — легенда индустрии, чьи идеи трансформировали подход к разработке программного обеспечения. Его книги остаются актуальными спустя 15+ лет и являются обязательным чтением для любого серьезного Java-разработчика. Применение его принципов делает код надежным, тестируемым и легко поддерживаемым.

Кто автор книги "Чистый Код" | PrepBro