1. Java / Говнокод #18901

    −40

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    -            mContext.unregisterReceiver(mReceiver);
    +            try {
    +                mContext.unregisterReceiver(mReceiver);
    +            }
    +            catch (IllegalArgumentException e) {
    +            }

    Приложение падало при определенных сценариях, пофиксили.

    Запостил: imihajlov, 21 Октября 2015

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

    • Сферический костыль в вакууме.
      Ответить
      • сферический костыль в вакууме -- это erlang с его "повторить упавшую операцию n раз, авось прокатит" супервайзарами, а это так
        Ответить
        • что, если ты делаешь carrier-grade, fault-tolerant или просто встроеный софт, не так уж и плохо. и к слову как раз из этого закаулка, эрланг и происходит. в отличии от явы.
          Ответить
          • Отличное оправдание можно придумать: "У меня не говнокод с костылями, у меня carrier-grade, fault-tolerant!"
            Ответить
            • дословный перевод "fault tolerant" это "игнорировать ошибки" :)

              меня больше напрягает когда народ говно оправдывает какими-то оптимизациями. типа "у нас тут все через Ж, потому что производительность", или реже встречающееся "потому что стандарт конформанс". после такого аргумента, манагеров переубедить что просто говно уже не возможно.
              Ответить
              • > "fault tolerant" это "игнорировать ошибки"
                Нет, совсем не так.

                Одно из значений tolerant showing the capacity for endurance. Дословный перевод - "устойчивый к ошибкам"
                Ответить
    • Терпеть не могу, когда приложению позволяют "падать" кривожопые погромисты. Как минимум, двадцать раз битой по ебалу за это.
      А за такие "костыли" - вообще методично отрубать руки.
      Ответить
      • Есть план на неделю: пофиксить такие-то и такие-то баги. Программист, который этим занимается, один. Изначально система — один большой кусок говнокода. Че делать, если по плану успеваешь только такие костыли поставить?
        Ответить
        • Просто взять - и отпиздить начальство.
          Честно... Заебали они всю эту некачественную хуергу в продакшн пускать.
          PS. Ну а в качестве первопричины - здесь выступает пресловутый фактор: "Каждый последующий программист - называет говнокодом код предыдущего." Вот так вот.
          Ответить
    • Для таких фиксов в пхп придумали @. Чего то довольных мало. Может и пустые try catch неправильный путь.
      Я когда не знаю как реагировать на падение хотя бы пишу в лог что было дескать падение в том то месте стектрейс туда пишу будет время разберусь.
      Ответить
      • >Для таких фиксов в пхп придумали @
        Люто плюсую! Сам об этом подумал.
        В PHP всё для удобства программиста, например удобная система обработки ошибок одним символом.

        Хуйня ваша 'Java', то ли дело 'PHP'.
        Ответить

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