1. Куча / Говнокод #22341

    −11

    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
    static BOOLEAN UpdateFileStoreTemplates ()
    {
      BOOLEAN NotResult = FALSE;
    
      NotResult |= !UpdateFileStoreTemplate (DC_EMAIL_TEMPLATE); // Not-ing a fail makes it true, so if Not result is True we've had a failure
      NotResult |= !UpdateFileStoreTemplate (DC_TABLE_HEADER_TEMPLATE); // Not-ing a fail makes it true, so if Not result is True we've had a failure
      NotResult |= !UpdateFileStoreTemplate (DC_TABLE_ROW_TEMPLATE); // Not-ing a fail makes it true, so if Not result is True we've had a failure
      NotResult |= !UpdateFileStoreTemplate (DC_TABLE_FOOTER_TEMPLATE); // Not-ing a fail makes it true, so if Not result is True we've had a failure
      NotResult |= !UpdateFileStoreTemplate (WS_EMAIL_TEMPLATE); // Not-ing a fail makes it true, so if Not result is True we've had a failure
      NotResult |= !UpdateFileStoreTemplate (WS_TABLE_HEADER_TEMPLATE); // Not-ing a fail makes it true, so if Not result is True we've had a failure
      NotResult |= !UpdateFileStoreTemplate (WS_TABLE_ROW_TEMPLATE); // Not-ing a fail makes it true, so if Not result is True we've had a failure
      NotResult |= !UpdateFileStoreTemplate (WS_TABLE_FOOTER_TEMPLATE); // Not-ing a fail makes it true, so if Not result is True we've had a failure
    
      return !NotResult;
    }

    Запостил: bahamot, 16 Февраля 2017

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

    • BOOLEAN Result = TRUE;
      Result &= ...
      Ответить
      • Иллюстрация правила де-Моргана.
        Ответить
      • З.Ы. Код из топика безопасней т.к. не полагается на конкретные значения TRUE и результатов.
        Ответить
        • Починил:
          BOOLEAN Result = TRUE;
          Result = Result && !!UpdateFileStoreTemplate (DC_EMAIL_TEMPLATE);
          ...


          P.S. Тут ещё и вычисление будет по сокращённой схеме в случае чего...
          Ответить
          • Тут тоже недостаток - ты возвращаешь 1, а не TRUE. Впрочем, в коде из топика он тоже есть.
            Ответить

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