1. PHP / Говнокод #16435

    +160

    1. 1
    if ($sess_gr != 7 || $sess_gr == 4 || $sess_gr == 14 || $sess_gr == 15) { // ... }

    Избыточное условие.

    Запостил: Khvorostin, 28 Июля 2014

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

    • А че делать - то в таком случае?
      Ответить
      • Молиться, поститься...

        if ($sess_gr != 7 ) { // ... }

        Или

        if ( $sess_gr == 4 || $sess_gr == 14 || $sess_gr == 15) { // ... }
        Ответить
    • Я думаю там раньше было "==7", а потом сказали "нет, в случае 7 НИ В КОЕМ СЛУЧАЕ не должно срабатывать". А тут мало ли, вдруг $sess_gr будет равен 14 и одновременно равен 7.
      Ответить
    • в чем проблема запихнуть в массив цифры и проверить if (in_array($sess_gr, $array_1_of_numbers) && !in_array($sess_gr, $array_1_of_numbers) { };
      Ответить
      • if (in_array($sess_gr, $array_1_of_numbers) && !in_array($sess_gr, $array_2_of_numbers) { };
        Ответить
        • if (in_array($sess_gr, $array_1_of_numbers) && !in_array($sess_gr, $array_2_of_numbers)) { };
          Ответить
          • говнокод же
            in_array($sess_gr, $array_1_of_numbers) && !in_array($sess_gr, $array_2_of_numbers)

            это же
            in_array($sess_gr, ($array_1_of_numbers - $array_2_of_numbers))

            а это
            in_array($sess_gr, ($array_1_of_numbers - $array_1_of_numbers&$array_2_of_numbers) )

            Тут у нас пересечение равно [/0] посему

            in_array($sess_gr, $array_1_of_numbers)
            Ответить
    • магические числа в коде недопустимы.
      Ответить
      • А в никах?
        Ответить
      • Фанатизм в коде недопустим. А числа просто нежелательны.
        Ответить
        • Все равно числа лучше группировать по смыслу в разных местах. Например в шарпике - в статичных классах. LayoutConst, MathConst.

          А фанатизм нигде не приветствуется
          Ответить
          • const int zero = 0;
            const int one = 1;
            const int two = 2;
            Ответить
            • const int izero = 0;
              const int ione = 1;
              const int itwo = 2;
              ...
              const float fzero = 0f;
              const float fone = 1f;
              const float ftwo = 2f;
              ...
              const double dzero = 0;
              const double done = 1;
              const double dtwo = 2; 
              ...
              Ответить

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