Back to questions
Junior — Middle
61
Имели ли вы опыт применения принципов SOLID в своих проектах?
Answer from AI
sobes.tech AI
Да, я применял принципы SOLID в своих проектах на Python для улучшения качества кода и облегчения его поддержки.
Например, принцип единственной ответственности (Single Responsibility Principle) помогает разделять классы и функции так, чтобы каждый элемент отвечал только за одну задачу. Это упрощает тестирование и модификацию.
Пример применения принципа Open/Closed (открытость/закрытость) в Python:
from abc import ABC, abstractmethod
class Shape(ABC):
@abstractmethod
def area(self):
pass
class Rectangle(Shape):
def __init__(self, width, height):
self.width = width
self.height = height
def area(self):
return self.width * self.height
class Circle(Shape):
def __init__(self, radius):
self.radius = radius
def area(self):
import math
return math.pi * self.radius ** 2
# Функция для подсчёта общей площади
def total_area(shapes):
return sum(shape.area() for shape in shapes)
shapes = [Rectangle(3, 4), Circle(5)]
print(total_area(shapes))
Здесь добавление новых фигур не требует изменения существующего кода, что соответствует принципу Open/Closed.
Использование SOLID помогает создавать гибкие и расширяемые архитектуры, что особенно важно при росте проектов.