Обложка канала

Clean Code

21095 @codeclean

Clean Code - канал на котором публикуются рекомендации по написанию кода, обзоры распространенных ошибок и многое другое.

Clean Code

7 лет назад
Открыть в
Open-Closed Principle

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

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

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

#cleancode #solid