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

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

    +1008

    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
    QPainter painter(this);
    int a1;
    int a2;
    int a3;
    int a4;
    //.......
    int a999;
    int a1000;
    
    a1 = 1;
    a2 = 1;
    a3 = 1;
    a4 = 1;
    //.......
    a999 = 1;
    a1000 = 1;
    
    while (a1 != 500)
    {         painter.drawLine(a1, a1, a1, a1); a1 ++; 
    }
    
    while (a2 != 500)
    {         painter.drawLine(a2, a2, a2, a2); a2 ++; 
    }
    while (a3 != 500)
    {         painter.drawLine(a3, a3, a3, a3); a3 ++; 
    }
    while (a4 != 500)
    {         painter.drawLine(a4, a4, a4, a4); a1 ++; 
    }
    //........
    while (a999 != 500)
    {         painter.drawLine(a999, a999, a999, a999); a999 ++; }
    }
    while (a1000 != 500)
    {         painter.drawLine(a1000, a1000, a1000, a1000); a1000 ++; }
    }

    ПРИКИНЬТЕ такое в paintevente!!!!!!! Qt

    VProger, 05 Января 2012

    Комментарии (16)
  3. Си / Говнокод #8827

    +104

    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
    // старый "медленый" код, проверяем размеры по именам файлов (последний параметр):
    
      if((checkFileLimits(_logTimeLimit,_logSizeLimit,_logStartTime,_traceFile1)>0) ||
         (checkFileLimits(_logTimeLimit,_logSizeLimit,_logStartTime,_traceFile2)>0) ||
         (checkFileLimits(_logTimeLimit,_logSizeLimit,_logStartTime,_traceFile3)>0) ||
         (checkFileLimits(_logTimeLimit,_logSizeLimit,_logStartTime,_traceFile) >0) )
    
    // новый "быстрый" код, проверяем размеры по файл хэндлам:
    
      FILE* fp1 = fopen(_traceFile1, "r");
      FILE* fp2 = fopen(_traceFile2, "r");
      FILE* fp3 = fopen(_traceFile3, "r");
      FILE* fp4 = fopen(_traceFile, "r");
      
      if((checkFileLimitsHandle(_logTimeLimit,_logSizeLimit,_logStartTime,fp1)>0) ||
         (checkFileLimitsHandle(_logTimeLimit,_logSizeLimit,_logStartTime,fp2)>0) ||
         (checkFileLimitsHandle(_logTimeLimit,_logSizeLimit,_logStartTime,fp3)>0) ||
         (checkFileLimitsHandle(_logTimeLimit,_logSizeLimit,_logStartTime,fp4) >0) )
             setTraceFile(NULL);
    
      fclose(fp1);
      fclose(fp2);
      fclose(fp3);
      fclose(fp4);

    наши бенчмаркеры чего-то там тестировали (на NFS!!!) и нашли что некоторые модули/библиотеки используют stat() вместо fstat()/ftell() для определения размера лог/трейс файлов (для ротации этих файлов). stat() берет как параметр не хэндл, а имя файла и поэтому дороже с точки зрения производительности. в особенности на NFS. ну начальник R&D и постановил: все stat()ы заменить на fstat()/ftell(). сказано - сделано. кусок сверху из модуля который пользуется внешней либой для логов и трейсов и у которого доступа к хэндлам нету. но герои не ищут легких путей: открываем файлы, получаем хэндлы, проверяем оптимальным образом размер файлов по хэндлам, закрываем файлы, гатова!

    Dummy00001, 14 Декабря 2011

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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $Drv=$pvu->driver_restriction;
            $Drv1=$pvu->driver_restriction;
    
            if ($Drv=="on") {$d='Y';}
            if ($Drv1=="off") {$d='N';}

    Обрабатываем входные параметры перед сохранением.

    denis0, 25 Ноября 2011

    Комментарии (16)
  5. Python / Говнокод #8476

    −92

    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
    #! /usr/bin/python3.1
    import tarfile, os, datetime, time
    tudate = datetime.datetime.now()
    tud_date = list(tudate.timetuple())
    day = tud_date[2]; month = tud_date[1]; year = tud_date[0]; dyear = tud_date[7]
    tar_pwd = '/home/fess/Desktop/Server/arch/%d.%d.%d.tar.gz' % (day,month,year)
    pwd_bases = '/home/fess/Desktop/Server/arch'; archives = os.listdir(pwd_bases) # получаем список всех файлов в дирректории
    os.chdir(pwd_bases) # move arround the directory with the bases
    if os.path.exists(tar_pwd): pass # если архив с именем сегоднешней даты есть в папке, то ничего не делает
    else: # в противном случае создает архив            
            tar = tarfile.open(tar_pwd,'w:gz')
            tar.add('/home/fess/Desktop/Server/base/','bases')
            tar.close()
    for archive in archives: # Проверка каждого архива в папке с архивами
            stf = os.stat(archive); dayy = time.localtime(stf.st_mtime).tm_yday; m = dyear-dayy # узнаем дату создания арх и узнаем сколько ему дней (m)
            if m >= 50: # если архиву больше или 50 дней
                    os.remove(archive); print(archive,'was removed')# тогда удаляем архив которому больше 50 дней 
            if dyear < dayy: # Если сегодняшний день меньше чем дата создания файла(т.е. наступил новый год)
                    os.remove(archive); print(archive,'was removed')# удалить 49 оставшихся архивов с прошлого года

    зачетная катяшенция по моему вышла, бэкапчеГ ;)

    fess, 10 Ноября 2011

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    if ($_POST["SAVE"]!="OK")
            $this->IncludeComponentTemplate();
    else
            $_POST=Array()

    оп оп

    atarix12, 10 Ноября 2011

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

    +1011

    1. 1
    #define RETURN_OR_THROW_EXCEPTION_IF_ERROR(Expression, Exception) if(!Expression) throw Exception; return Expression

    AnimeGovno-_-, 03 Ноября 2011

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

    +173

    1. 1
    2. 2
    3. 3
    // какоето говно
    elseif ((strlen(intval($_GET[1])) != strlen($_GET[1]))) {
    //какоето говно

    warider, 01 Ноября 2011

    Комментарии (16)
  9. SQL / Говнокод #8343

    −141

    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
    CREATE MATERIALIZED VIEW LEASE_NODES_SUMMARY_SDS
    ...
    AS
    SELECT
    ...
    FROM lease_nodes_sds;
    DECLARE
      v_count NUMBER:=0;
    BEGIN
      LOOP
      SELECT COUNT(1) INTO v_count FROM lease_nodes_summary_sds;
      EXIT WHEN v_count>0;
      END LOOP;
    END;

    Торопиться некуда. Будем ждать пока появятся строки в lease_nodes_sds...

    slbsomeone, 28 Октября 2011

    Комментарии (16)
  10. PHP / Говнокод #8252

    +157

    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
    function get_uri()
    {
    	// Path corrector //
    	$path_correct = str_replace("http://","",$_SERVER['REQUEST_URI']);
    	
    	if (($path_correct[strlen($path_correct)-1] != "/") and (!preg_match("#[\.|\?]#i",$path_correct))) {
    	        header("Location: {$_SERVER['REQUEST_URI']}/"); exit;
    	    }
    	// Path parser //
    	$request = str_replace("http://","",$_SERVER['REQUEST_URI']);
    	$params = strpos($request,"?");
    	if ($params>0) { $request = substr($request,0,$params); }
    	@list($ignore,$path) = @explode("/",$request,2);
    	$CRT['PATH'] = @explode("/",$path);
    	if ($CRT['PATH'][count($CRT['PATH'])-1] == "") { unset($CRT['PATH'][count($CRT['PATH'])-1]); }
    	
    	return $CRT['PATH'];
    }

    Пиздец.
    Думаю, какого хрена я отсылаю форму постом, а приходит гет.
    Такое только на пиэйчпи могли написать.

    Nicklasos, 20 Октября 2011

    Комментарии (16)
  11. PHP / Говнокод #8144

    +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
    27. 27
    28. 28
    29. 29
    30. 30
    $sql = "SELECT aps.* FROM apps_applicationinterfaceincoming aps
    WHERE aps.applicationid = '$id' ORDER BY aps.name ASC";
                           $Result = $Database->query( $sql );
                           foreach( $Result as $aResult )
                           {
                                   $editIcon = Common_Image_Icon_Overlay::fetchIcon(
    Common_Image_Icon_Overlay::EDIT, _('Edit interface' ),
    '/apps/serveroverlay.php?table=apps_applicationinterfaceincoming&edit=1&mode='.AppsEnvironment::iVIEWMODE_EDIT.'&id='.$aResult['id']
    );
                                   $deleteIcon = Common_Image_Icon_Ajax::fetch(
    Common_Image_Icon_Ajax::DELETE, array( 'aLinkAttributes' => array(
    'onclick' => "new Browser.Http.Ajax.Updater( '#interfacein',
    '/apps/interfacein_ajax.php?action=remove&id={$aResult['id']}' );" ) )
    );
                                   $html .= <<<EOF
                                                   <tr>
                                                           <td>{$aResult['name']}</td>
                                                           <td>{$aResult['frequency_data_transfers']}</td>
                                                           <td>{$aResult['type_of_interface']}</td>
                                                           <td>{$aResult['internal_external']}</td>
                                                           <td>{$aResult['description']}</td>
                                                           <td class="actions">{$editIcon} {$deleteIcon}</td>
                                                   </tr>
    EOF;
                           }
                           $html .= <<<EOF
                                           </tbody>
                                   </table>
                           </fieldset>
    EOF;

    PHP Bestpractice php + sql + html + js in one file
    или даэже in one String.

    ... 800 строк в том же духе. (толко в етом файле)

    andrejlr, 10 Октября 2011

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