Sobes.tech
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 помогает создавать гибкие и расширяемые архитектуры, что особенно важно при росте проектов.