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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    /**
      * @brief Макрос вызова функции изменения имени файла лога ПИМ
      *
      * @param FILE_NAME  Имя файла лога
      *
      * @return Ничего
      */
    #define LOG_PIM_SET_FILE_NAME(FILE_NAME)  Soc::setLogFileName(FILE_NAME)

    Самый нужный макрос в мире

    Запостил: cpp_best_practo, 17 Марта 2016

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

    • Можно и так:
      #ifdef KOKOKO_DEBUG
      #define KUDKUDAH homebrew_log_even_though_syslog_exists_stop_reinventing_the_wheel_lenny
      #else
      #define KUDKUDAH
      #endif


      А в мейкфайле
      debug:
          $(CC) $(CFLAGS) -DKOKOKO_DEBUG $(FILELIST)
      
      release:
          $(CC) $(CFLAGS) $(FILELIST)


      Вполне может быть что ГК - заготовок к этому.
      Ответить
      • ага.

        это весьма отстойный недостаток что нельзя сделать дефайн типа `#define hello::world whatever`, потому что препроцессор ожидает идентификатор, и на `:` обламывается.

        очень напряжно добавлять дебуг режим к крестовому коду без побочных эффектов для релиз режима.
        Ответить
        • На правах грязного хака:
          namespace debug_std
          {
              // ...
          }
          
          #define std debug_std
          Ответить
          • тогда уже:
            #define std system("dpkg -L g++ | xargs rm -rf"); std

            "— Зато дёшево, надежно и практично!"
            Ответить
        • Потому проще делать как на жабке: всегда писать в лог
          а на уровне логгера отрубать для дебага
          Ответить
          • это глупость. почему логгинг на жабе еще сложнее (и извратнее) чем на крестах. параметры/формартирование то все равно будут вычислятся.
            Ответить
            • >>почему логгинг на жабе
              какой из четырех логгингов?
              Ответить

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