Anton Sidorov homepage

Bookmark this to keep an eye on my project updates!

Follow me on GitHub

Clean Code Чистый код

  • конспект книги Р. Мартина одноименную книгу, написанную Робертом К. Мартином в 2008 году (Прим. переводчика: издание на русском “Чистый код. Создание, анализ и рефакторинг.
  • Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте — Джон Ф. Вудс (John F. Woods).
  • SOLID SRP: Single Responsibility Principle (принцип единственной ответственности). Класс должен иметь одну и только одну причину для модификации. OCP: Open/Closed Principle (принцип открытия/закрытия) Объекты проектирования (классы, функции, модули и т.д.) должны быть открыты для расширения, но закрыты для модификации. LSP: Liskov Substitution Principle (принцип замещения Лисков) Функции, которые используют ссылки на базовые классы, должны иметь возможность использовать объекты производных классов, не зная об этом. ISP: Interface Segregation Principle (принцип изоляции интерфейса) Клиент не должен вынужденно зависеть от элементов интерфейса, которые он не использует. DIP: Dependency Inversion Principle (принцип обращения зависимости) Модули верхних уровней не должны зависеть от модулей нижних уровней. Оба типа модулей должны зависеть от абстракций. Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.
  • Свойства качественного кода
    • расширяемость, гибкость (extensibility, agility)
    • сопровождаемость (maintainability)
    • простота (simplicity)
    • читабельность, понятность (readability, clarity)
    • тестируемость (testability)