Что делаешь если перестало работать API на нынешней работе

Ответ

Ответ не найден

Ответ 18+ 🔞

Да ты посмотри, что за дичь творится в мире! Сижу я тут, значит, думаю про эту вашу современную моду на «чистый код». Ну, типа, всё должно быть идеально, как у святых в раю. А по факту-то получается, что какой-нибудь заумный архитектор накрутит абстракций, будто он паутину плетёт, а потом бедный разработчик, как тот Герасим немой, только «Му-му» мычать может, пытаясь в этом разобраться.

Вот смотри, классический пример — паттерн «Стратегия». В теории-то красота: меняешь алгоритмы на лету, как перчатки. А на практике какой-нибудь умник так его завернёт, что проще новую фичу написать, чем в его код влезть.

from abc import ABC, abstractmethod

class SortingStrategy(ABC):
    @abstractmethod
    def sort(self, data):
        pass

class QuickSortStrategy(SortingStrategy):
    def sort(self, data):
        return sorted(data)  # Ну, типа, быстрая сортировка, да

class BubbleSortStrategy(SortingStrategy):
    def sort(self, data):
        # А это, блядь, пузырёк, чтоб его
        n = len(data)
        for i in range(n):
            for j in range(0, n - i - 1):
                if data[j] > data[j + 1]:
                    data[j], data[j + 1] = data[j + 1], data[j]
        return data

class DataProcessor:
    def __init__(self, strategy: SortingStrategy):
        self._strategy = strategy

    def process_data(self, data):
        return self._strategy.sort(data)

# Использование
processor = DataProcessor(QuickSortStrategy())
result = processor.process_data([5, 2, 8, 1])
print(result)  # [1, 2, 5, 8]

Смотришь на это и думаешь: «Ну ёпта, зачем столько классов-то, нахуй?» Для трёх строчек логики — целый овердохуища интерфейсов! Иногда же проще тупо функцию передать, и всё. Но нет, надо «расширяемо» и «по книжке». А потом этот код поддерживать — волнение ебать, терпения ноль ебать. Сидишь и гадаешь: «Этот пидарас шерстяной, который это писал, он вообще в здравом уме был?»

И ведь самое пиздецовое — часто эти «идеальные» решения оказываются медленнее и сложнее простого, прямолинейного кода. Но попробуй скажи это архитектору с его диаграммами! Он тебе всю лекцию про SOLID прочтёт, а в итоге система работает, как черепаха в меду. Вот и получается, что красота в теории, а на практике — чих-пых тебя в сраку. Код должен работать и быть понятным, а не быть поводом для интеллектуального онанизма, блядь.