Ответ
Ответ не найден
Ответ 18+ 🔞
Ага, вот и я, сижу, значит, смотрю на этот ваш код, и понимаю — пиздец, народ, блядь, совсем с катушек съехал! Ну ладно, бывает, накосячил, но тут, сука, целый овердохуища слоёв абстракции, чтобы просто Hello, World! вывести!
Смотри, вот тебе пример, от которого у меня, блядь, волосы встали дыбом. Чувак решил, видимо, что он архитектор от бога, и наваял такое:
from abc import ABC, abstractmethod
from typing import Protocol
class IGreetingStrategy(Protocol):
def greet(self, target: str) -> str: ...
class AbstractGreeter(ABC):
def __init__(self, strategy: IGreetingStrategy):
self._strategy = strategy
@abstractmethod
def execute_greeting(self) -> str: ...
class FormalGreetingStrategy:
def greet(self, target: str) -> str:
return f"Hello, {target}."
class InformalGreetingStrategy:
def greet(self, target: str) -> str:
return f"Yo, {target}! Wassup?"
class ConsoleGreeter(AbstractGreeter):
def execute_greeting(self) -> str:
result = self._strategy.greet("World")
print(result)
return result
# Клиентский код
def main():
strategy_selector = {"formal": FormalGreetingStrategy(), "informal": InformalGreetingStrategy()}
selected_strategy = strategy_selector.get("formal")
if not selected_strategy:
raise ValueError("Ёпта, стратегия не найдена!")
greeter = ConsoleGreeter(selected_strategy)
greeter.execute_greeting()
if __name__ == "__main__":
main()
Ну и? Ну и что? В рот меня чих-пых! Ты видишь это? Чтобы написать print("Hello, World!"), он, сука, целую вселенную классов создал! Протоколы, абстрактные классы, стратегии... Да это же, блядь, Hello, World!, а не система управления полётами на Марс!
И ведь самое пиздатое — он где-то это вычитал, про "паттерны" и "слабое зацепление". И теперь везде, куда ни плюнь, у него фабрики фабрик, которые создают строителей для инжектора зависимостей! Чувак, блядь, ты не на собеседовании в Google! Ты просто, сука, выводишь строчку в консоль!
Вот смотри, как должно быть, по-человечески:
print("Hello, World!")
Всё! Одна строчка! Никаких IGreetingStrategy, никаких AbstractGreeter! Просто, блядь, print и точка! Зачем эти ебушки-воробушки? Зачем этот овер-инжиниринг, который только мой мозг ебёт?
Это как если бы ты, чтобы дверь открыть, сначала чертёж шлюза составлял, давление выравнивал, а потом ещё и протокол подписания акта о вскрытии двери писал. Да открой ты её, нахуй, просто! Ручку поверни и всё!
Так что, друзья мои, вывод простой: не выёбывайтесь. Если задача простая — решайте её просто. А то получится, как в том анекдоте: "Чтобы понять, как работает эта программа, нужно быть её автором, а чтобы быть её автором, нужно понять, как она работает". Пиздец, да и только.