1. C++ / Говнокод #3233

    +987

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    enum State
    {
       NotOpened  = __LINE__;
       Waiting    = __LINE__;
       Opened     = __LINE__;
       Finished   = __LINE__;
       Terminated = __LINE__;
    };

    Запостил: k06a, 14 Мая 2010

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

    • Прикольно :) Только в конце строк должны быть запятые. И можно было ограничиться только "инициализацией" NotOpened.
      Ответить
      • Да уж, облажался я. Код запоминал днём, а щас набрал в блокноте без проверки))
        Ответить
    • Отличные у тебя говнокоды, пеши еще!
      Ответить
    • В чём смысл?
      Ответить
      • Не я писал это)) Не знаю зачем так делать, а вообще препроцессор заменит __LINE__ на номер строки исходного текста.
        Ответить
        • чтобы не брать на себя ответственность за выбор значений :)
          Ответить
          • Ну, вообще-то внутри enum'а значения и так по умолчанию выбираются автоматически. С нуля и так далее.
            Тут просто запоминается, что __LINE__ вроде бы одинаковый, но при этом на каждой строке разный.
            Ответить
            • Ну чтобы в разных енамах были разные числа.
              Ответить
              • Вряд ли это принесет какую-то пользу
                Ответить
                • это может быть (ограничено) полезно в случаях когда происходит мемори коррапшн или креш с коре дамп. по значениям можно прикинуть что именно это было.

                  на одной фирме у нас нечто подобное делали для встраиваемой системы, но только с правильными (и документироваными) диапазонами для разных энумов.
                  Ответить
    • Just move this enum on the different place in the file and the big fun will start :)
      Ответить

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