1. JavaScript / Говнокод #12644

    +146

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    function EchoError(num)
    {
    
      var errstr = '';
    
      switch(num)
      {
        case 1: errstr = 'А чего считать-то?'; break;
        case 2: errstr = 'Это что еще за непристойности?'; break;
        case 3: errstr = 'Слишком большие числа, сам считай...'; break;
        case 4: errstr = 'А самому на ноль поделить слабо?'; break;
        case 5: errstr = 'Ой! Кажется, я где-то ошибся...';break;
        case 6: errstr = 'Да эта функция в жизни подобных чисел не видела!';break;
        case 7: errstr = 'Я ЭТИ буквы не умею складывать, ты мне другие буквы дай!';break;
      }
    
      alert("Ошибка №" + num + ": " + errstr);
    
    }

    2004 год

    Запостил: __proto__, 25 Февраля 2013

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

    • Если не брать в расчет текстовые строки, все нормально. В чем говнокод просветите?
      Ответить
      • Магические числа
        Ответить
        • Нормальные коды ошибок. Этак можно и HTTP-статусы магическими числами обозвать
          Ответить
          • > HTTP-статусы
            Дык они и есть магические числа. Просто часть из них уже наизусть заучили.
            Ответить
            • Я пару лет назад понял прелесть магических кодов ошибок. Загуглить текст ошибки (особенно с учётом локализации) бывает непросто. Гуглить код ошибки типа ORA12154 гораздо удобнее.
              Но в топике какое-то школоло.
              Ответить
              • А не проще ли гуглить
                ERR_NULL_POINTER
                ERR_ADULT_CONTENT
                ERR_INT_OVERFLOW
                ERR_ZERO_DIVIDE
                ERR_SYSTEM_FAILURE
                ERR_INVALID_ARGUMENT
                ERR_INVALID_SYMBOL
                Ответить
                • не проще, когда их тыщщи
                  Ответить
                  • А причём здесь тыщи? Тарас предложил определять константы и использовать их в коде. Если использовать магические числа, когда ошибок "тыщи" - лучше сразу повеситься.
                    Ответить
                    • > лучше сразу повеситься
                      давно в winerror.h ходил?
                      помнишь навскидку имя ошибки 10056, которую выдаст какая-нибудь апишная функция тебе в лог?
                      я быстрее нагуглю "error 10056 SomeApiCall", чем полезу в заголовочный файл, буду искать сопоставление имени числу (а ведь иногда встречал, что некоторые объявляют ошибки в своих либах как SOME_BASE_VALUE + 143 - dekrypt тут явно не помешает) и еще вдруг не найду
                      аналогично по ошибкам компилятора - идея с compiler error CNNNN работает хорошо, как Роман и написал выше
                      Ответить
                    • Здесь речь не о том, чтобы в коде, возвращающем ошибки, юзать магические числа. Безусловно в коде используется соответствующий дефайн/константа/енум что там у вас в языке, и называется он не ERROR_100500, а вполне адекватно.

                      Здесь имеется в виду только то, что при выводе ошибки стоит показать не только ее (локализованный?) текст, но и код ошибки в духе E100500, который потом легко будет загуглить по my program name E100500 или продиктовать по телефону в саппорт.
                      Ответить
              • > пару лет назад понял прелесть магических кодов ошибок
                Мысль... И не через такое пробивались.
                >Но в топике какое-то школоло.
                С претензиями отобрать хлеб у Петросяна.
                Ответить
            • Коды ответов HTTP формируются не абы как, а по вполне определенному принципу. Хотя на это забивают в последнее время, тот же гугл с его кодом 451 Censored.

              В общем, я бы не назвал их магическими.
              Ответить
              • Ну то, что они разбиты на категории по первой цифре, совсем не делает их не магическими.

                Ну вот например 403 Forbidden. Почему 403? Почему не 402 или не 404? Почему не 442? Не получается придумать объяснения? Значит это самое настоящее магическое число.
                Ответить
                • Хм, я где-то видел информацию что там каждая цифра формируется определенным образом. Но что-то найти не могу.
                  Ответить

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