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

    +162.1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if(!(strpos(strtolower($to),'ontent-transfer-encoding')===false)) {
    
     ...
    
    }

    j.me, 25 Февраля 2010

    Комментарии (3)
  2. PHP / Говнокод #2661

    +162.1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    if ( !empty($a1) ||
         !empty($a1) && !empty($a2) ||
         !empty($a1) && !empty($a2) && !empty($a3) ||
         !empty($a1) && !empty($a2) && !empty($a3) || && !empty($a4) ||
         !empty($a1) && !empty($a2) && !empty($a3) || && !empty($a4) || && !empty($a5) ||
    ...
         !empty($a1) && !empty($a2) && !empty($a3) || && !empty($a4) || && !empty($a5) || && ... !empty($a8) )
    {
     // что-то делать...
    }

    Уже и не припомню где именно, но всретил я такую проверочку на рабочем сайте:
    После небольшой оптимизации получилось нормально условие... кто скажет какое ???

    Death, 24 Февраля 2010

    Комментарии (52)
  3. C# / Говнокод #2660

    +966.3

    1. 1
    2. 2
    int factor = (chbFactor.Checked) ? 1 : 0; // bool to int
    factor = (factor * 2) - 1; // -1 or +1

    Вторая строчка превращает 0 в -1 а единичку не трогает

    Vidmak, 24 Февраля 2010

    Комментарии (23)
  4. PHP / Говнокод #2659

    +176.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if(empty($username) || $username){
      // ...
       if($id == $row['id'] || $row['id'] == $id || ($row['id'] == $id && $id == $row['id'])){
          // ...
       }
    }

    Было дело года два назад...
    Форма авторизации, как я мог написать такой бред? =)

    Zver, 24 Февраля 2010

    Комментарии (13)
  5. Java / Говнокод #2658

    +77.1

    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
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    public static boolean isValidUser(String user)
    	{
    		if(user == null) return true;
    		int len = user.length();
    		if (len > 255) return false;
    		char c;
    		for(int i=0; i<len; i++)
    		{
    			c = user.charAt(i);
    			if (c <= ' ') return false;
    			if (c == ':') return false;
    			if (c == '@') return false;
    			if (c == '"') return false;
    			if (c == '>') return false;
    			if (c == '<') return false;
    			if (c == '/') return false;
    			if (c == '\'') return false;
    			if (c == '&') return false;
    			if (c == '\u077F') return false;
    			if (c == '\u0FFE') return false;
    			if (c == '\u0FFF') return false;
    		}
    		return true;
    	}

    проверка имени пользователя на плохие символые в Jeti

    danilissimus, 24 Февраля 2010

    Комментарии (13)
  6. C++ / Говнокод #2657

    +45.6

    1. 1
    return (hWnd) ? (bool)ShowWindow(hWnd, (state) ? SW_NORMAL : SW_HIDE) : false;

    Я долго пытался понять, что я имел ввиду.

    Altravert, 24 Февраля 2010

    Комментарии (15)
  7. PHP / Говнокод #2656

    +160.7

    1. 1
    $_date	= date("Y-m-d", mktime("0", "0", "0", date("m"), date("d")-2, date("Y")));

    нашел в сорсе одного из наших сайтов

    polizei, 24 Февраля 2010

    Комментарии (28)
  8. Java / Говнокод #2655

    +75.8

    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
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    package core;
    
    public class Cryptor {
        /**
         * Encodes the String.
         * @param s Source string.
         * @param p Password.
         * @return String
         */
        public static String encode(String s, String p) {
            byte[] str = s.getBytes();
            int h = summ(p);
    
            for(int i = 0; i < str.length; i++) {
                str[i] = (byte) (str[i] ^ h ^ i);
            }
    
            return new String(str,0,str.length);
        }
    
        /**
         * Decodes the String.
         * @param s Source string.
         * @param p Password.
         * @return String
         */
        public static String decode(String s, String p) {
            return encode(s, p);
        }
    
        /**
         * Calculater the hash summ of password.
         * @param p Password.
         */
        public static int summ(String p) {
            int r = -1;
            byte[] str = p.getBytes();
            for(int i = 0; i < str.length; i++) r+=str[i]+i;
            return r;
        }
    }

    danilissimus, 24 Февраля 2010

    Комментарии (8)
  9. C++ / Говнокод #2654

    +59

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    QByteArray icqMessage::convertToByteArray(const quint8 &d)
    {
    	QByteArray packet;
    	packet[0] = d;
    	return packet;
    }

    Обнаружено в сорцах qutim'а. Про memcpy разработчики, видимо, не слышали, также, как и про метод append() в классе QByteArray.
    А еще не совсем понятно, зачем функции для конвертирования байт-эррэев в цифры и обратно объявлены и реализованы В КАЖДОМ файле, где используются. Про #include файла, в котором один раз можно реализовать все функции, разработчики, наверное, тоже слышали мельком.

    RankoR, 23 Февраля 2010

    Комментарии (14)
  10. JavaScript / Говнокод #2653

    +173.5

    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
    toSmallFont = function ( e )
    {
    c = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]; n = c.length;
    r = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
    while (n--) e = e.replace(c[n], r[n]);
    return e;
    }
    
    toBigFont = function ( i )
    {
    c = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]; n = c.length;
    r = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"];
    while (n--) i = i.replace(c[n], r[n]);
    return i;
    }

    fuckyounoob, 23 Февраля 2010

    Комментарии (3)