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

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

    +144.9

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    char str[n]="Programmirivanie eto horoshiy predmet";
         for(i=0; i<n; i++)
         {
              printf("%c", str[i]);
         }
         printf("\n");

    Без комментариев ))

    Grockles, 15 Января 2010

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

    +162.5

    1. 1
    2. 2
    $require = 'email|name|phone';
    foreach (explode('|', $required) as $field)

    найдено при рефакторинге

    Stormherz, 12 Января 2010

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

    +164

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    for($i = 0; $i < 1000; $i++) {
            if(isset($_POST['discount_sum_'.$i]))
            {
                $a_discount_id_service[] = htmlspecialchars(@$_POST['id_service_'.$i]);
                $a_discount_sum[]        = htmlspecialchars(@$_POST['discount_sum_'.$i]);
                $a_discount_type[]       = htmlspecialchars(@$_POST['discount_type_'.$i]);
                $a_discount_time_type[]  = htmlspecialchars(@$_POST['discount_time_type_'.$i]);
            }
            else {
                break;
            }
    }

    По POST'у передаётся некоторое количество 'discount_sum_'.$i, 2 или 3, например 'discount_sum_1', 'discount_sum_2', 'discount_sum_3', в зависимости от точно известного количества записей в одной из таблиц, и передаваемое количество точно известно в момент передачи, но ведь лучше перебрать от 1 до 1000! :))

    hardcoder, 06 Января 2010

    Комментарии (18)
  5. PHP / Говнокод #2377

    +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
    function load_config ()
      {
        $res = mysql_query ('select * from configurations');
        while ($row = mysql_fetch_assoc ($res))
        {
          $n = $row[name];
          $v = $row[value];
          $str = '$_config[\'' . $n . '\'] = \'' . $v . '\';';
          eval ($str);
        }
        return $_config;
      }

    Загрузка конфига из базы данных.
    Продукт, где содержится _это_, продаётся за ~300$

    miami, 06 Января 2010

    Комментарии (18)
  6. Си / Говнокод #2320

    +102.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
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    int parse_path(const char *path,char ***names,int *size)
    {
    		
    	int ch=0; ch='/';
    	*size=0;
    	char *q; q=path+1;
    	char *s=0;
    	
    		
    	while(1)
    	{
    		s=strchr(q,ch);
    		if(s!=NULL)
    		{
    			(*size)++;
    			if(*size==1)
    			{
    				(*names)=malloc(sizeof(char*)*(*size));
    				if(!(*names)) return -1;
    			}
    			else
    			{
    				(*names)=realloc(*names,(*size)*sizeof(char*));
    				if(!(*names)) return -1;
    			}
    			*(*names+(*size)-1)=malloc((s-q+1)*sizeof(char));
    			if(!(*(*names+(*size)-1))) return -1;
    			memset(*(*names+(*size)-1),0,(s-q+1)*sizeof(char));			
    			strncpy(*(*names+(*size)-1),q,s-q);
    			q=s+1;
    		}
    		else
    		{
    			if(*q!='\0')
    			{
    				ch='\0';
    				s=strchr(q,ch);
    				(*size)++;
    				(*names)=realloc(*names,(*size)*sizeof(char*));
    				if(!(*names)) return -1;
    				*(*names+(*size)-1)=malloc((s-q+1)*sizeof(char));
    				if(!(*(*names+(*size)-1))) return -1;
    				memset(*(*names+(*size)-1),0,(s-q+1)*sizeof(char));			
    				strncpy(*(*names+(*size)-1),q,s-q);
    			}
    			break;
    		}
    	}
    	
    	
    	return 0;
    }

    Парсим путь...Это ужасно!!!

    KoirN, 23 Декабря 2009

    Комментарии (18)
  7. C# / Говнокод #2205

    +123.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    //...
    if ( (x > 0) || (x == 0))
    {
              //....
    }

    Человек явно с головой не дружит

    psina-from-ua, 01 Декабря 2009

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

    +170.8

    1. 1
    /* Читайте описание, не пожалеете =) */

    Коллеги!
    Сейчас кода уже нет, но могу объяснить в двух словах, это было гениально!

    Интерфейс наподобие CRM с выводом записей в HTML таблицу.

    Таблица MySQL с 130 000 записями, без (!) индексов.
    Брались ВСЕ 130 000 (!) записей и загонялись в PHP массив!
    И потом делалась пагинация с выводом по 20 на странице!
    И КАК! Делался цикл по всему (!) массиву, т. е. 1 до 130 000.
    И функция, которая проверяла, входит ли $i (индекс цикла) в промежуток типа от ($page-1)*$on_page до $page*$on_page! Если $i наша - выводим, нет - идем дальше (!) по циклу без остановки.

    Это похоже на программы со специальной задержкой для видимости бурной вычислительной деятельности, которые делали на Delphi в школе - со StatusBar'ами и Sleep'ами.

    Вся эта шняга даже на арендованном сервере работала по 30 секунд.
    Про HTML в стиле <font color="red".. size="2" и т. д. - отдельная история.

    Создавал это 35-летний штатный программист, получавший непомерную зарплату.

    matveev, 25 Ноября 2009

    Комментарии (18)
  9. PHP / Говнокод #2174

    +154.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    $srv_id=$_POST['srv_id'];
    $result = mysql_query("
    SELECT *
    FROM srv
    WHERE
    srv_id='$srv_id'");
    $data = mysql_fetch_array($result);
    // ...
    $srv_id=$data['srv_id'];

    marten.spb, 25 Ноября 2009

    Комментарии (18)
  10. C++ / Говнокод #2022

    +56.1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    UINT aScrollMode = 0;
         m_pScrollH->GetInfo(&aScrollMode, 0, 0);
         if (!(aScrollMode & M_INVISIBLE))
         {
              ...
         }

    Рефакторю довольно большой проект (5 Мб исходников). Единственный способ спросить у контрола (любого из имеющихся) привожу выше.

    Konstantin.Grebenschikov, 22 Октября 2009

    Комментарии (18)
  11. JavaScript / Говнокод #1877

    +157.3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    function SetStyleForFilterOver(this2) {
        this2.style.border = "1px solid #ea0000";
        this2.style.color = "white";
        this2.style.background = "#404040";
    }
    function SetStyleForFilterOut(this2) {
        this2.style.border = "1px solid #404040";
        this2.style.color = "#ea0000";
        this2.style.color = "#ea0000";
        this2.style.background = "#eeeeee";
    }

    Тс-с-с-с... Только не говорите автору про css и селектор ":hover" :о)

    Ordos, 21 Сентября 2009

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