1. Си / Говнокод #3386

    +132

    1. 1
    2. 2
    3. 3
    if ((strlen == 0) && (key ==BNS_CLR_K || key ==WISE_K_BSPACE))
    				;
    else

    Запостил: aljosha, 03 Июня 2010

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

    • Изыди!
      Ответить
    • с булевой алгеброй и логикой у нас плохо. PHPшником будет
      Ответить
    • strlen. Неудачное название переменной.
      Ответить
      • «Намучается пацан с таким именем»
        Ответить
    • Туплю наверное.
      если длина строки == 0, и нажата одна из клавиш, то...
      А где говнокод ?)
      Ответить
      • Сразу же после..
        Ответить
        • С другой стороны, это еще вопрос, как читаемее:

          (strlen != 0) || (key !=BNS_CLR_K && key !=WISE_K_BSPACE)

          Фиг знает, на любителя. Имхо, списки с логическим И немного проще воспринимаются.
          Ответить
          • if !((strlen == 0) && (key ==BNS_CLR_K || key ==WISE_K_BSPACE))

            Любители разные бывают
            Ответить
            • А тем временем в ветке else такая же точка с запятой может быть.
              Ответить
            • Вот это я больше всего не люблю, негативные условия в if.
              Знак "!" очень тонкий и визуально воспринимается с трудом.
              Читаешь какое-то условие, понимаешь его, смотришь код, охуеваешь, и только потом замечаешь, что условие обернуто.
              Но, может, это я один такой.
              Ответить
              • Пустое тело тоже не сахар. Увидел точку с запятой и думай, что это - ошибка или шрифты глючат или вообще вот так:
                if (blabla && yohoho)                                                             do smth()
                        ;
                else


                Вообще в обсуждаемом случае сильно помог бы коммент ;//do nothing
                Ответить
                • Да, к вопросу о длине строки...
                  Да, за коммент всеми руками за!
                  Ответить
              • #define not !
                Ответить
              • Ставь три (или пять) восклицательных знака, это намного лучше видно.
                if !!!!!!!111
                Ответить
                • if !!!!!!!111oneone ?:)

                  Прелестно!
                  Ответить
                  • bool oneoneone=0;
                    if(!!!!!!!!oneoneone)
                    {
                    printf("Пук!!!!!1111/0x111");
                    };
                    Что выведется на экран?
                    Ответить
                • :))) Зашибись хороший совет!
                  Ответить

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