1. Python / Говнокод #28188

    −2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    try:
        self._api = caller(self.url)
    except ValueError as e:
        logging.error(f"Не удалось инициализировать класс API: ({str(e)})")
        raise ValueError(str(e))

    Запостил: hvx, 24 Мая 2022

    Комментарии (38) RSS

    • Справедливости ради нужно сказать, что правильно обрабатывать и логировать ошибки -- одно из самых сложных умений. Нужны десятки лет опыта, чтобы научиться. Я не иронизирую
      Ответить
      • Какой Doctorate in PHP )))
        Ответить
        • В PHP, замечу, такой проблемы нет: Там принято выдавать ошибки пользователю в браузер посреди кусков HTML. А уж он-то как-то разберется!

          Пока тупые С++ники ебутся с дампами и символами чтобы понять где ошибка, PHP разрабочтик просто просит у пользователя скриншот экрана, и всё понимает

          Плохо только если перед ошибкой случился таг <script> например: тогда на экране ее не видно, но видно во view source
          Ответить
          • Кстати, а если вызвать ob_start(), это поможет, или ошибки тоже попадут в буфер?
            Ответить
            • Если я правильно помню, такое приведет к ошибкам в шапке, а дизайн и красоту вывалит ниже.
              Ответить
              • Тоесть PHP сайт даже в случае ошибок всё равно красиво отобразится, да?

                А ваш С++ падает в отвратительную кору в случае любой, даже самой тупой ошибки, ахахаха
                Ответить
                • Раньше вёрстку все равно могло попидорасить, если страница начинается не с <html>. Как сейчас, не знаю
                  Ответить
          • Ты зря иронизируешь. В PHP ошибки также дублируются в лог.
            Ответить
            • Это в ненужных "фреймворках", по умолчанию -- нет. Это же не "perl"
              Ответить
            • Который хостер тебе не даст почитать, ибо не уплочено
              Ответить
      • логирование для тех, кто до сих пор не слышал про трейсинг
        Ответить
        • о, золотой молоток прибежал! А конфигурационные файлы для тех, кто до сих пор не слышал про базы данных. А базы данных для тех, кто до сих пор не слышал про распределенные базы данных.
          Ответить
          • > А конфигурационные файлы для тех, кто до сих пор не слышал про базы данных.

            Опровергаю. Как и заявлено выше, налицо непонимание проблематики. ,Подптсм: серьзное лицо.
            Ответить
            • Золотой молоток ожидаемо слился. Пойду, заменю исключеня в своем пет проекте на трейсинг, желательно сразу в EWT, eBPF или в облако
              Ответить
              • Используй кафку. Чтобы по-хипстерски было.
                Ответить
                • Хочу Amazon CloudWatch Logs

                  Кстати, надо бы пропатчить утилиту "ls", которая по-еблански пишет ошибки в STDERR вместо трейстинга
                  Ответить
                  • А отправлять через асинкинхо будешь?
                    Ответить
                    • конечно. А внутри будет protobuf. Кстати, TCP сосет ,так что у меня будет лучше свой протокол поврех UDP
                      Ответить
                      • А свой протокол выложишь на гитхаб отдельным проектом с «лицензией»?
                        Ответить
                        • Конечно. А потом буду ездить по конференциям, и рассказывать, как внедрение моего протокола позволило ускорить разработку, и удешевить проект

                          Скажем, govnokod.xyz стал бы намного лучше с моим протоколом
                          А уж если в нем логинг на трейсинг заменить...
                          Ответить
                          • Потом запишешь видел как правильно готовиться к публичным выступлениям?
                            Ответить
                      • поверх PHP
                        Ответить
              • ебпф-то откуда вытащил?

                мы про всякую высокоуровневую штуку типа https://opentracing.io/
                Ответить
                • Оттуда же, откуда и ETW:) Могу и DTrace еще привести. Трейсинг и есть трейсинг
                  Ответить
                • https://files.catbox.moe/ycy04l.png
                  Нужно такую же картинку сделать с технологиями говнокода. Чтобы были вореции, mutools, mpak.su, esvoe.
                  Ответить
              • Почему не lttng? Там flexible configuration, integration with linux kernel и essential techniques such as per-CPU buffering.
                Ответить
                • ого, надо бы ознакомиться. Буду писать профайлер -- обязательно погружусь:)

                  Забавно, что там в альтернативах есть как раз и ebpf (bpf изначально делали вообще для libcap вроде) и порт божественного DTrace на линукс (на dTrace яблоки сделали красивый инструмент Instruments и еще всякое
                  Ответить
        • Только ситхи возводят всё в абсолют.
          Ответить
      • raise
        Десятки лет опыта
        Ответить
    • Мерзче этого шинтакшиша разве только те, кто на нем прогает.
      Ответить
    • Ответить
    • Ну допустим в нашей шарашке есть слащавый парень, великий прогромист. Знает питон. О майн год, какой огромный догм для тешания чсв! Площадь была закидана арбузными корками и розами. Когда он проходит по коридорам, ему рукоплещут все коллеги. Или это в ушах шумит? Я бы соснул ему, да ебало не в моем вкусе.
      Ответить

    Добавить комментарий