Почему ищешь новый проект

Ответ

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

Ответ 18+ 🔞

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

Вот смотри, реальный случай. Есть у нас функция, которая данные обрабатывает. Всё в ней красиво, оттестировано, покрытие кода — овердохуища. Но есть один маленький нюанс, ебать мои старые костыли.

def process_data(data):
    # Всё чётко, всё по канону
    validated = validate_input(data)
    transformed = apply_transformations(validated)
    result = save_to_database(transformed)
    return result

Красота же, да? Ан нет. Потому что функция validate_input() в какой-то момент начала возвращать None, если ей передать пустой список. А наш герой, такой: «Да похуй, кто ж пустой список будет передавать? Это же очевидно!». И не стал это обрабатывать.

И что ты думаешь? Проходит полгода. Внезапно, из-за обновления на фронтенде, с клиента начинает прилетать пустой массив в определённом сценарии. Наш validate_input() получает [], пожимает плечами и возвращает None. Дальше apply_transformations() пытается с этим None работать и, естественно, вылетает с AttributeError. Весь пайплайн — к ебеням. Пользователи в панике, алёрты орут, начальник смотрит как на идиота.

А всё почему? Потому что программист посчитал, что «очевидные» вещи не нужно проверять. Доверия ебать ноль к входящим данным, даже от своего же фронтенда! Это как оставить дверь открытой и сказать: «Да кто ж зайдёт?». Зайдут, блядь. И не просто зайдут, а ещё и посрать в твоём коде оставят.

Мораль истории, ёпта: даже если тебе кажется, что ситуация невозможна — обработай её. Поставь if, кинь исключение, запиши в лог. Не будь тем самым чуваком, который говорит «это же логично!». Для компьютера логично только то, что в коде прописано. Всё остальное — путь в ад, где ты будешь в три часа ночи смотреть на падающий продакшен и понимать, что сам во всём виноват, потому что поленился написать четыре строчки проверки. Пидарас шерстяной, одним словом.