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

    +82

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    bool isOperator( char c ) {
    	return c == '+'
    		|| c == '-'
    		|| c == '*'
    		|| c == '/'
    		|| c == '('
    		|| c == ')';
    }

    Запостил: Fai, 05 Сентября 2012

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

    • Авторское форматирование сохранено.
      Ответить
      • Если табы по 4 пробела, смотрится нормально.
        Ответить
    • Вот так?
      strchr("+-*/()", c) != NULL

      А вообще - не говнокод это.
      Ответить
    • Где здесь говно, Fai?
      Совершенно нормальный код. Работает быстрее strchr(). Единственное говно которое я вижу - в использовании табов для отступов. Но это же придирка по оформлению, а не по логике, да и лечится astyle'ом за секунды.
      Ответить
    • Говно в кривой грамматике?
      Бинарные операции вместе со скобками выглядат странно. Или автор любитель какого-нибудь J?
      Ответить
      • Вы считаете, что в J кривая грамматика? Я с вами категорически не согласен.
        Ответить
    • a = some * (very * long) * expression + 
          + other * long * expression;

      Problems? :7
      А если серьезно, то два варианта:
      is_a = some * (very * long) * expression == a && 
          other * long * expression == 0;

      is_a = some * (very * long) * expression == a
          && other * long * expression == 0;

      Второй даже, возможно, более читаем, потому что логическая операция сразу видна. И не возникает дискомфорта, как в случае с "0 == other * long * expression" или, тем более, ", EnumElementN".
      Ответить

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