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

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

    +160

    1. 1
    2. 2
    case false:
    default:

    :)

    DmitryDick, 21 Мая 2010

    Комментарии (26)
  3. Assembler / Говнокод #3194

    +225

    1. 1
    2. 2
    fstp qword [tmp]
    fild qword [tmp]

    суровое округление через память

    3.14159265, 11 Мая 2010

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

    +162

    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
    if ($_FILES['upfile']['size'] > 0) {
                $fname = $_FILES['upfile']['name'];
                $fcat = $_POST['category'];
                $ext = explode(".", $fname);
                if ($ext[1] == 'txt') {
                    if (!file_exists("$fcat/$fname")) {
                        if ((move_uploaded_file($_FILES['upfile']['tmp_name'], "$fcat/$fname"))) {
                            chmod("$fcat/$fname", 0777);
                            echo 'Текстовой файл успешно загружен! <br />';
                            echo '<a href="index.php?file=' . $fname . '&kat=' . $fcat . '&view=2">Посмотреть</a>';
                        } else {
                            echo 'Ошибка прикрепления файла<br />';
                            echo '<a href="index.php?kat=' . $fcat . '&view=1">Назад</a>';
                        }
                    } else {
                        echo 'Такой файл уже существует<br />';
                        echo '<a href="index.php?kat=' . $fcat . '&view=1">Назад</a>';
                    }
                } else {
                    echo 'Для загрузки доступны лишь файлы, с расширением .txt<br />';
                    echo '<a href="index.php?kat=' . $fcat . '&view=1">Назад</a>';
                }
            } else {
                echo 'Недопустимый размер файла<br />';
                echo '<a href="index.php?kat=' . $fcat . '&view=1">Назад</a>';
            }

    WAP-ENGINE
    Мега зашита при опланде :D

    lugaro, 22 Апреля 2010

    Комментарии (26)
  5. SQL / Говнокод #2978

    −180.2

    1. 1
    SELECT ((SELECT COUNT(*) FROM `books` WHERE `author` = '?') + (SELECT COUNT(*) FROM `magazins` WHERE `author` = '?')));

    не многовато ли селектов?:))
    вместо '?' пхпшный код ставит значение.

    litrumb, 09 Апреля 2010

    Комментарии (26)
  6. 1C / Говнокод #2936

    −364.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
    Процедура ДействияФормыСформировать(Кнопка)
    	Запись = Новый Структура;
    	Запись.Вставить("Номер",);
    	Запись.Вставить("ФизЛицо",);
    	Запись.Вставить("ТабНомер",);
    
    	Запись.Вставить("д1",);
    	Запись.Вставить("д2",);
    	Запись.Вставить("д3",);
    	Запись.Вставить("д4",);
    	Запись.Вставить("д5",);
    	Запись.Вставить("д6",);
    	Запись.Вставить("д7",);
    	Запись.Вставить("д8",);
    	Запись.Вставить("д9",);
    	Запись.Вставить("д10",);
    	Запись.Вставить("д11",);
    	Запись.Вставить("д12",);
    	Запись.Вставить("д13",);
    	Запись.Вставить("д14",);
    	Запись.Вставить("д15",);
    	Запись.Вставить("д16",);
    	Запись.Вставить("д17",);
    	Запись.Вставить("д18",);
    	Запись.Вставить("д19",);
    	Запись.Вставить("д20",);
    	Запись.Вставить("д21",);
    	Запись.Вставить("д22",);
    	Запись.Вставить("д23",);
    	Запись.Вставить("д24",);
    	Запись.Вставить("д25",);
        	Запись.Вставить("д26",);
    	Запись.Вставить("д27",);
    	Запись.Вставить("д28",);
    	Запись.Вставить("д29",);
    	Запись.Вставить("д30",);
        	Запись.Вставить("д31",);

    Не ожидал от своего коллеги такого говнокода :) Хорошо, что в месяце не 100 дней ;_)
    Данный код можно заменить
    Для й = 1 По 31 Цикл
    Запись.Вставить("д" + Строка(й));
    КонецЦикла;

    tiger_x, 06 Апреля 2010

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

    +50.4

    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
    map<string, int> M;
    ...
    M["one"] = 1;
    M["two"] = 2;
    M["google"] = 1e100;
    ...
    // найдём сумму всех значений --- т.е. всех правых частей 
    // пар <string, int>
    int r = 0;
    tr(M, it) {
       r += it->second; 
       // (*it).first == [string], (*it).second == [int]
    }

    и это на сайте обучения программирования!!!
    http://informatics.mccme.ru/moodle/mod/book/view.php?id=492&chapterid=216

    Novi4oK, 21 Января 2010

    Комментарии (26)
  8. Pascal / Говнокод #2354

    +102

    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
    begin
      tru:=false;
      if    tru=false then
      begin
        ObrMatritsa(Sigm,Sigm_transp);
        tru:=true;
        det:=abs(Determinant(Sigm));
        if det=0 then
        begin
          ShowMessage('Determinant = 0');
          tru:=false;
          Application.Terminate;
          exit;
        end;
        //if  det=0 then begin result:=0 ; exit end;
        sum:=1/sqrt(power(2*pi,kol_prizn)*det* exp(Mas));
        if  sum=0 then result:=0 ;
      end else exit;
    end;

    TAX, 30 Декабря 2009

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

    +922

    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
    int proverka_na_chislo(string str){
      int l=0;
      for(unsigned int i=0; i<str.length();i++) {
       if(str.compare(i,i+1,"0")!=0){
         if(str.compare(i,i+1,"1")!=0){
           if(str.compare(i,i+1,"2")!=0){
             if(str.compare(i,i+1,"3")!=0){
               if(str.compare(i,i+1,"4")!=0){
                 if(str.compare(i,i+1,"5")!=0){
                   if(str.compare(i,i+1,"6")!=0){
                     if(str.compare(i,i+1,"7")!=0){
                       if(str.compare(i,i+1,"8")!=0){
                          if(str.compare(i,i+1,"9")!=0){
                            throw std::invalid_argument("invalid argument\n");
                            l=-1;
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
      return l;
    }

    Проверка на число.

    LocalStorm, 03 Декабря 2009

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

    +66.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    PChar GetFileContent(PChar FileName)
    {
    ...
    };
    
    static inline signed int GetFileSize(PChar FileName)
    {
      return(((signed int)(strlen(GetFileContent(FileName)))));
    };

    Всё гениальное - просто...

    Говногость, 04 Сентября 2009

    Комментарии (26)
  11. Си / Говнокод #1761

    +133

    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
    //рекурсивная процедура создающая структуру меню
    byte form_hash(phasharray vrarr, WORD* ni, byte* ne)
    {
    	byte ct=MainMenu[(*ni)].numSubMenus, ict;
    	phasharray	vrarrcr;
    
    	if((*ni)++==0) pmain=vrarr; // если первый проход - запоминаем ссылку на главное меню
    	for (ict=0; ict<ct; ict++)
    	{
    		vrarr->hash[ict].pitem=(tmenuitem*)RTKGetBuffer(&menuPool);
    		//инициализация строки элемента
    		scopy0(((*((*vrarr).hash[ict].pitem)).menustr), MainMenu[*ni].nameMenu);
    		if (MainMenu[*ni].numSubMenus!=0)
    		{
    			(*((*vrarr).hash[ict].pitem)).pnextlev=RTKGetBuffer(&hashMenuPool);// создание хэша
    			vrarrcr=(phasharray)(*((*vrarr).hash[ict].pitem)).pnextlev;//вводим новую переменную для облегчения доступа к созданной структуре
    			(*vrarr).hash[ict].quantity=(byte)MainMenu[*ni].numSubMenus;//запоминаем количество элементов в меню уровнем выше
    			(*vrarrcr).pPrevLev=vrarr; // ссылка на предыдущий элемент
    			(*((*vrarr).hash[ict].pitem)).fpmenu=true;
    			if (MainMenu[*ni].numSubMenus==MENU_FUNC) // вызов процедуры динамического формирования меню
    			{
    				menupr_params.vrarr=vrarrcr;
    				menupr_params.phashprev=vrarr;
    				menupr_params.ni=ni;
    				menupr_params.ne=ne;
    				menupr_params.ict=ict;
    				(MainMenu[*ni].pproc)(); 
    				(*ni)++;
    			} else 
    			{
    				if(MainMenu[*ni].pproc) // если исключение (перед входом в подменю необходимо выполнить функцию)
    				{
    					changeArr[(*ne)++]=vrarrcr;
    					(*((*vrarr).hash[ict].pitem)).pexec=MainMenu[*ni].pproc;
    					(*((*vrarr).hash[ict].pitem)).fpmenu=false;
    				};
    				// исправляем значение элементов
    				(*(vrarr)).hash[ict].quantity=form_hash(vrarrcr, ni, ne);
    			};
    			// проверка сформированного меню
    			switch ((*(vrarr)).hash[ict].quantity)
    			{
    			case MENU_NO: // нет подменю
    				// освободить эл-т
    				RTKFreeBuffer(&hashMenuPool, vrarrcr); 
    				(*((*(vrarr)).hash[ict].pitem)).pexec=*menu_refresh;
    				(*((*(vrarr)).hash[ict].pitem)).fpmenu=false;
    				break;
    			case MENU_NOEL: // не формировать эл-т
    				// освободить эл-т
    				RTKFreeBuffer(&hashMenuPool, vrarrcr); 
    				RTKFreeBuffer(&menuPool, vrarr->hash[ict].pitem);
    				ict--;
    				ct--;
    				break;
    			case MENU_FUNC: // нет подменю, нормальная функция
    				RTKFreeBuffer(&hashMenuPool, vrarrcr); 
    				(*(vrarr)).hash[ict].quantity=0; 
    				//(*((*vrarr).hash[ict].pitem)).fpmenu=false;
    				break;
    			}
    		} else // заполнение элемента
    		{
    			(*((*vrarr).hash[ict].pitem)).pexec=MainMenu[*ni].pproc;
    			(*((*vrarr).hash[ict].pitem)).fpmenu=false;
    			(*ni)++;
    		};
    	};
    	return ct;
    };

    Эх, бурная была молодость :-)

    Barmaglot, 04 Сентября 2009

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