Python с нуля к первым деньгам за коды
317 subscribers
91 photos
44 videos
154 links
Download Telegram
#SOLID #Python #OOP #I #Программирование #Кодинг #Продукт #VSCode
🧩 I — Interface Segregation Principle (Принцип разделения интерфейса)

Не заставляй классы реализовывать то, что им не нужно. VS Code + SOLID = чистый, понятный, продаваемый код.


# Плохо: один интерфейс на всё
class Worker(ABC):
@abstractmethod
def work(self): pass
@abstractmethod
def eat(self): pass # Робот не ест!

class Human(Worker):
def work(self): print("Работаю")
def eat(self): print("Ем")

class Robot(Worker):
def work(self): print("Работаю")
def eat(self): pass # Пустышка — грязно!

➡️ Следующий пост: как разделить правильно

Знаешь с кем поделиться?
#SOLID #Python #OOP #I #GitHub #Фриланс #Архитектура #PyCharm
ISP — дроби интерфейсы на мелкие

Клиенты не должны зависеть от того, что они не используют. GitHub + SOLID = твоё портфолио, за которое платят.

from abc import ABC, abstractmethod

class Workable(ABC):
@abstractmethod
def work(self): pass

class Eatable(ABC):
@abstractmethod
def eat(self): pass

class Human(Workable, Eatable):
def work(self): print("Работаю")
def eat(self): print("Ем")

class Robot(Workable):
def work(self): print("Работаю")

# Теперь зависимости точные — нет мусора
def manage_worker(worker: Workable):
worker.work()


➡️ Следующий пост: D — Dependency Inversion Principle 🔁

Знаешь с кем поделиться?