Ответ
Ответ не найден
Ответ 18+ 🔞
Да ты посмотри, какой тут у нас код, блядь! Вот сидишь, думаешь — ну что может пойти не так? А оно, сука, берёт и не работает, и всё тут.
Смотри, вот у тебя есть функция, которая должна возвращать сумму двух чисел. Вроде бы всё просто, как три копейки, да? Но нет же, пишем вот так:
def add(a, b):
return a + b
И вроде бы работает, но потом приходит какой-то умник и говорит: "А давайте проверим, что будет, если передать строки?" И тут начинается пиздец, потому что функция сложит строки, а тебе-то нужно числа складывать! И вот ты уже сидишь, чешешь репу, думаешь: "Ёпта, а ведь правда, нахуй так можно?"
И начинаешь городить проверки:
def add(a, b):
if isinstance(a, (int, float)) and isinstance(b, (int, float)):
return a + b
else:
raise ValueError("Оба аргумента должны быть числами, блядь!")
А потом ещё кто-то подсказывает: "А что, если None передать?" И ты такой: "Да иди ты нахуй со своими None!" Но проверку всё равно добавляешь, потому что иначе потом сам же и будешь ебаться с ошибками в три часа ночи.
И вот уже функция раздулась, как пузо после новогоднего застолья, а ведь изначально-то всё было просто! Вот в чём парадокс, блядь: чем больше думаешь о краях да углах, тем больше говнокода пишешь. А если не думать — потом получаешь в проде такие косяки, что волосы дыбом встают.
Короче, вывод такой: пиши код так, будто его потом будет поддерживать психопат, который знает, где ты живёшь. И да, документацию тоже пиши, а то потом сам же забудешь, нахуя этот параметр flag=True нужен был.