Назад к задачам
Junior — Senior
18

Оптимизация взаимодействия менеджера с рабочими объектами

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Вопрос: что делает представленный фрагмент и какие способы его улучшения возможны? В коде класс Supervisor (ранее Manager) создаёт два рабочих экземпляра — WorkerA и WorkerB (ранее Worker1 и Worker2) — и последовательно вызывает у каждого из них метод process. Нужно проанализировать текущую реализацию и предложить варианты повышения читаемости, расширяемости и тестируемости кода.

class WorkerA:
    def __init__(self):
        pass
    def process(self):
        pass

class WorkerB:
    def __init__(self):
        pass
    def process(self):
        pass

class Supervisor:
    def __init__(self):
        self.w1 = WorkerA()
        self.w2 = WorkerB()

    def run_jobs(self):
        for w in (self.w1, self.w2):
            w.process()

s = Supervisor()
s.run_jobs()