Clean Code
13.3K subscribers
2.32K photos
5 videos
2.97K links
Советы по написанию кода, обзоры распространенных ошибок и многое другое.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

РКН: clck.ru/3Ht6ch
加入频道
Solid. Single Responsibility Principle

Принцип единственной ответственности.
Класс должен быть ответственен лишь за что-то одно. Если класс отвечает за решение нескольких задач, его подсистемы, реализующие решение этих задач, оказываются связанными друг с другом. Изменения в одной такой подсистеме ведут к изменениям в другой.
Правильное применение принципа единственной ответственности приводит к высокой степени связности элементов внутри модуля, то есть к тому, что задачи, решаемые внутри него, хорошо соответствуют его главной цели.

#codeprinciples #solid
Open-Closed Principle

Принцип открытости-закрытости
Программные сущности (классы, модули, функции) должны быть открыты для расширения, но не для модификации. Рассмотрим простой пример ниже.

При добавлении нового Animal придётся дополнять код функции AnimalSound. Если подобная архитектура используется в реальном проекте, функцию придётся постоянно расширять, добавляя в неё новые выражения if.

Решение: У каждого класса, описывающего животного, будет собственный метод MakeSound и, к примеру, при переборе массива с животными достаточно будет вызвать метод MakeSound для каждого элемента массива.

#cleancode #solid
Liskov Substitution Principle

Принцип подстановки Барбары Лисков.
Цель этого принципа заключаются в том, чтобы классы-наследники могли бы использоваться вместо родительских классов, от которых они образованы, не нарушая работу программы. Если оказывается, что в коде проверяется тип класса, значит принцип подстановки нарушается и вам следует пересмотреть свое решение.

#solid
Interface Segregation Principle

Принцип разделения интерфейса.
Создавайте узкоспециализированные интерфейсы, предназначенные для конкретного клиента. Клиенты не должны зависеть от интерфейсов, которые они не используют.

S O L I D

#solid
Dependency Inversion Principle

Суть принципа инверсии зависимостей проста: заменить композицию агрегацией. Вместо создания зависимостей напрямую, класс должен требовать их у более высокого уровня через аргументы метода или конструктора. При этом зависимость должна передаваться не в виде экземпляров конкретных классов, а в виде интерфейсов или абстрактных классов.
Подробнее вы можете прочитать в статье.

S O L I D

#solid
Как писать SOLIDно

Недостаток времени на выполнение поставленных задач - первое оправдание, которое слышишь, когда спрашивают у разработчиков, почему их код получился далеким от идеала. Однако впоследствии кодовая база становится ригидной, не поддающейся расширению и изменению.

Для того чтобы избежать чрезмерных трат на сопровождение, стоит выделить дополнительное время на выполнение и придерживаться принципов SOLID, часть из которых рассмотрена на примерах в следующей статье.

Читать статью (6 мин.)

#programming #solid
SOLIDный чистый код на простых примерах

Разработка программного обеспечения — невероятно сложный и трудозатратный процесс, поэтому критически важно использовать инструменты, проверенные временем и практикой. Принципы SOLID и чистый код - простейшие, но в то же время, одни из наиболее полезных в долгосрочной перспективе.

Даже плохо написанный код работает, если написан в соответствии с синтаксисом языка. Но если учесть, что читать код приходится намного чаще, чем писать, то поддержка неаккуратно написанного кода становится кошмаром. Чистый код — набор практик по написанию читабельного кода, понятного не только автору.

SOLID — это аббревиатура пяти принципов проектирования в объектно-ориентированном программировании — Single responsibility, Open-closed, Liskov substitution, Interface segregation и Dependency inversion. Чтобы их освоить требуется время, но если писать код, следуя с этими принципами, то его качество повысится, а архитектура станет гибкой и расширяемой.

📺 YouTube

Clean Code #видео #cleancode #SOLID
Просто о SOLID

SOLID — это набор правил, которые позволяют создавать стабильные и расширяемые приложения. Такой результат можно получить только в том случае, если эти правила правильно трактовать.

Этим, к слову, и занимается автор видео: он рассказывает про принципы SOLID и показывает всё на понятном для новичка примере. Также, зритель узнает про все очевидные преимущества и недостатки этих принципов.

📺 YouTube

Clean Code #видео #теория
SOLID и ООП

Для тех, кто не знает, SOLID — это набор принципов, позволяющий создавать нормальные приложения. А ещё, благодаря им, намного проще писать обновления (теперь они будут выходить чаще?).

Из этого видео вы узнаете про принципы SOLID и разберётесь с тем, как они применяются в реальном коде. Видео очень простое и понятное, поэтому подойдёт даже тем, кто недавно начал обучаться.

📺 YouTube

Clean Code #видео #solid #oop
📖Adaptive Code: Agile coding with design patterns and SOLID principles
🖋Gary McLean Hall, 2017

Применяя принципы, изложенные в этой книге, вы сможете создавать код, соответствующий новым требованиям и непредвиденным сценариям, без существенных изменений. Гэри Маклин Холл описывает лучшие практики, принципы и шаблоны Agile для проектирования и написания кода, который может развиваться быстрее и с меньшим количеством ошибок, поскольку не препятствует изменениям.

💾 Скачать книгу

Clean Code | #книги #SOLID