1. Лучший говнокод

    В номинации:
    За время:
  2. PHP / Говнокод #5607

    +164

    1. 1
    $update = !empty($id) and $id > 0;

    Вопреки ожиданиям автора, выражение $id > 0 вообще никогда не принимается во внимание.
    /* Ознакомьтесь с приоритетом операций */
    Сначала отработает $update = !empty($id)
    потом значение из $update будет сравниваться с $id > 0 и результат сравнения никуда не попадёт.

    Рекомендация: используйте && вместо оператора "and".

    zabuhailo, 09 Февраля 2011

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

    +133

    1. 1
    2. 2
    3. 3
    4. 4
    int type = int.Parse(r.Cells[3].Value.ToString());
    if (type == 1 || type == 3 || type == 5 || type == 6 || type == 7) type--;
    else if (type == 4) type = 2;
    else if (type == 666) type = 3;

    Парсим данные из XLS-файла.

    Kirinyale, 21 Января 2011

    Комментарии (35)
  4. JavaScript / Говнокод #5316

    +169

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    function paramEncode(str){
    	var text = escape(str);
    	while(text.indexOf("%u") !=-1)
    		text = text.replace("%u","!u");
    	while(text.indexOf("%") !=-1)
    		text = text.replace("%","!u00");
            while(text.indexOf(".") !=-1)                                                                                        
                    text = text.replace(".","!u002E");   
            while(text.indexOf("/") !=-1)                                                                                        
                    text = text.replace("/","!u002F");   
    	return text;
    }

    альтернатива if:)

    moonie, 18 Января 2011

    Комментарии (35)
  5. C# / Говнокод #4891

    +122

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    public ActionResult View(string id)
    {
    	// some stupid code
    	return View("Picture");
    }

    Потратил больше часа, пытаясь разобраться, почему глючат роуты.

    andrewpey, 10 Декабря 2010

    Комментарии (35)
  6. PHP / Говнокод #4651

    +173

    1. 1
    2. 2
    3. 3
    $S=preg_replace('/(\')|(\")|(\,)|(\()|(\))|(\.)|(\‹)|(\:)|(\;)|(\$)|(\#)|(\/)|(\{)|(\})|(\*)|(\ )|(\|)|(\>)|(\<)|(\=)|(\-)|(\[)|(\])|(\!)|(\+)|(\☺)|(\☻)'
                                 .'|(\♥)|(\♦)...................../', '', $S);
    $S=trim($S);

    Регулярные выражения! Супер!

    Yakud, 16 Ноября 2010

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

    +170

    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
    <?php 
    // Генерируем картинку для капчи, цифры и латынские литеры
    // PHP код:
    function rnd_str($str_size=1){ 
            $str='';  
            $chars= array(  
                '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',  
                  
                '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'  
            );  
              
            for( $i=0; $i<$str_size; $i++ ){  
                $num= true;  
                if( rand(0,1) == 1 ) $num= false;  
                if($num) $str.= rand(0,9);  
                else $str.= $chars[rand(0,sizeof($chars)-1)];  
            }  
            return $str;  
        } 
    ?>
    <?php 
    // пример 
    // PHP код:
    
    echo rnd_str(); 
    ?>

    ...Внезапно наткнулось...

    > Важная информация
    > 27.03.2010 - Ура! Форуму OnlyWM - 1 месяц

    istem, 29 Октября 2010

    Комментарии (35)
  8. PHP / Говнокод #4359

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    function is_ints($s)
    {
      $s:=$s[0]+0;
      if(gettype($s)=="integer"){return true}else{return false}
    }

    Из моей молодости.. Проверка является ли строка числом.. Даже стыдно :)

    sera, 12 Октября 2010

    Комментарии (35)
  9. Java / Говнокод #4054

    +119

    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
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    /**
         * Parses inlined match flags and set them appropriately.
         */
        private void addFlag() {
            int ch = peek();
            for (;;) {
                switch (ch) {
                case 'i':
                    flags |= CASE_INSENSITIVE;
                    break;
                case 'm':
                    flags |= MULTILINE;
                    break;
                case 's':
                    flags |= DOTALL;
                    break;
                case 'd':
                    flags |= UNIX_LINES;
                    break;
                case 'u':
                    flags |= UNICODE_CASE;
                    break;
                case 'c':
                    flags |= CANON_EQ;
                    break;
                case 'x':
                    flags |= COMMENTS;
                    break;
                case '-': // subFlag then fall through
                    ch = next();
                    subFlag();
                default:
                    return;
                }
                ch = next();
            }
        }
    
        /**
         * Parses the second part of inlined match flags and turns off
         * flags appropriately.
         */
        private void subFlag() {
            int ch = peek();
            for (;;) {
                switch (ch) {
                case 'i':
                    flags &= ~CASE_INSENSITIVE;
                    break;
                case 'm':
                    flags &= ~MULTILINE;
                    break;
                case 's':
                    flags &= ~DOTALL;
                    break;
                case 'd':
                    flags &= ~UNIX_LINES;
                    break;
                case 'u':
                    flags &= ~UNICODE_CASE;
                    break;
                case 'c':
                    flags &= ~CANON_EQ;
                    break;
                case 'x':
                    flags &= ~COMMENTS;
                    break;
                default:
                    return;
                }
                ch = next();
            }
        }

    очередной кусок творчества Chen-Lieh Huang, Alan Liu
    /* @(#)Pattern.java 1.113 07/05/07
    * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
    * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
    */

    продолжение #3976 #3975 #3940 #3998 #3999 #4007

    3.14159265, 21 Августа 2010

    Комментарии (35)
  10. Куча / Говнокод #4042

    +131

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    /***************************************/
    
    Между прочим, сегодня у нас взят плановый гет 2000 пользователей!
    
    С чем и поздравляем ГК.РУ!
    
    /****************************************/

    2KGET, 20 Августа 2010

    Комментарии (35)
  11. Java / Говнокод #3656

    +87

    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
    /**
     * The Time class is a faster replacement for the java.util.Calendar and
     * java.util.GregorianCalendar classes. An instance of the Time class represents
     * a moment in time, specified with second precision. It is modelled after
     * struct tm, and in fact, uses struct tm to implement most of the
     * functionality.
     */
    public class Time {
    
    ...
    
        /**
         * Year. TBD. Is this years since 1900 like in struct tm?
         */
        public int year;
    
    ...
    
    }

    Android 1.5. TBD в публичном API официального SDK - это пять. Ну мы ещё подумаем, как нам нравится, а вы пока просто посмотрите в дебаге! Гы.

    yvu, 07 Июля 2010

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