Ответ
Ответ не найден
Ответ 18+ 🔞
Да ты посмотри на эту хуйню, блядь! Вот сидишь ты такой, пишешь код, всё вроде работает, а потом бац — и всё ебнулось к чертям собачьим. И начинаешь ты думать: "На какого хуя я вообще за это взялся?"
Вот смотри, допустим, у тебя есть функция, которая должна просто сложить два числа. Всё просто, да? Ну типа:
def add(a, b):
return a + b
А потом приходит какой-то умник и говорит: "А давайте мы туда ещё строки складывать будем, и списки, и вообще всё подряд!" И ты такой: "Ну, блядь, окей..." И пишешь:
def universal_add(a, b):
try:
return a + b
except TypeError:
return str(a) + str(b)
И вроде работает, ёпта. Сложил 5 и 3 — получил 8. Сложил 'hello' и 'world' — получил 'helloworld'. Красота!
Но потом приходит твой коллега, который, блядь, как мартышка с гранатой, и пытается сложить число со списком. И всё, пиздец, тихий ужас. Функция возвращает какую-то дичь вроде '5[1, 2, 3]', и потом эта строка ползёт по всей системе, как дерьмо по трубам, и ломает всё на своём пути. А ты сидишь и ебешься с дебагом, потому что ошибка всплывает за тридевять земель от места, где её совершили.
И понимаешь ты в этот момент, что доверия к таким "универсальным" решениям — ноль ебать. Потому что ядрёна вошь, они пытаются быть умными за всех, а в итоге просто скрывают проблему, пока она не вырастет до размеров, когда уже ничем не прикроешь.
Вот поэтому, чувак, лучше писать код, который делает одну чёткую хуйню и делает её хорошо. Если нужно складывать числа — пусть складывает числа и падает с понятной ошибкой, если ему подсунули хуйню. Это честно. А не вот это вот всё: "ой, а я попробую как-нибудь, авось пронесёт". Не пронесёт, блядь. Рано или поздно вылезет, да ещё и в самый неподходящий момент, когда у тебя релиз или начальник стоит над душой.
Короче, мораль простая: не выёбывайся. Пиши простой и понятный код, который не пытается быть гением на все случаи жизни. А то получится как с тем Герасимом — вроде хотел как лучше, а в итоге Муму утопил, сам остался с разбитым ебалом и совестью. Не надо так.