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

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

    +109

    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
    procedure RemoveDir(path: string);
    var
      sr: TSearchRec;
    begin
      if FindFirst(path + '\*.*', faAnyFile, sr) = 0 then
      begin
        repeat     
          if sr.Attr and faDirectory = 0 then
            DeleteFile(path + '\' + sr.name);
          else
              RemoveDir(path + '\' + sr.name);
        until
          FindNext(sr) <> 0;
      end;
      FindClose(sr);
      RemoveDirectory(PChar(path));
    end;

    История такова, писал я как-то программу по курсовому. (Это было еще года два-три назад, когда я про юнит тесты и различные технологии проектирования и разработки ничего не знал.) По задумки программа распаковывала некие файлы во временный каталог рядом с приложением и по завершению работы с ними удаляла эту папку вот этим методом. Итак, запустил я эту подпрограмму на выполнение для проверки ее работоспособности и смотрю в файловом менеджере, что папка успешно удалилась и все ок. Но вдруг студия начала жаловаться что нет каких-то файлов, я смотрю в файловый менеджер и вижу что файлы проекта программы исчезают буквально на глазах! Естественно я резко убиваю программу и далее начинаю восстанавливать исходники. Благо, что делал бэкапы и эта подпрограмма проработала все ничего, а ведь последствия могли быть еще больше. А мораль такая, нужно быть предельно внимательным, когда работаешь с удалением какой-либо информации.

    P.S. Нужно добавить проверку между 10 и 11 строкой:
    if (sr.Name <> '..') and (sr.Name <> '.') then

    vanished, 18 Декабря 2010

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

    +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
    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
    $query = "SELECT * FROM records WHERE  id_film='$id_film'";        
    $results = mysql_query($query);
    $var1 = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
    $var1 = $var1. "<playlist>\n";     
    while($line = mysql_fetch_assoc($results))
      {
    $tmp_us = $tmp_us.$line['id_user'];
      $var1 = $var1."<vid src=\"http://homelinux.com:8080/sample1/content/audiorecord/"
      . $line['id_user']
      ."/"
      . $line["file_name"]
      ."_d.flv"
      . "\" label=\""
      . $line["file_name"]
      ."\""
      ." id_film=\""
      . $line["id_film"]
      ."\""
      ." time_begin=\""
      . $line["time_begin"]
      ."\""
      ." time_end=\""
      . $line["time_end"]
      ."\""
      ." id_user=\""
      . $line["id_user"]
      ."\""  
      ." sh_val=\""
      . $line["sh_val"]
      ."\""
      ." id_record=\""
      . $line["id_record"]
      ."\""
      ."/>\n";
    }
    $var1 = $var1."</playlist>\n"; 
    echo "var1=$var1";

    Вот так некоторые Flash-еры формируют xml пакеты

    Agel_Nash, 16 Декабря 2010

    Комментарии (20)
  4. C++ / Говнокод #4932

    +159

    1. 1
    2. 2
    SetClipboardData(CF_TEXT, hMems);
    SetClipboardData(RegisterClipboardData(CFSTR_SHELLURL), hMems);

    Говногость, 15 Декабря 2010

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if ($_GET['sd']=='show' && $_GET['sv']=='' && $_GET['vks']=='' && $_GET['m']=='' && $_GET['bio']=='' && $_GET['ras']=='' && $_GET['tm']=='' && $_GET['ld']=='') {$zagol=$title[sd];} else {$zagol=$title[spec];};
    if ($_GET['sv']=='show' && $_GET['sd']=='' && $_GET['vks']=='' && $_GET['m']=='' && $_GET['bio']=='' && $_GET['ras']=='' && $_GET['tm']=='' && $_GET['ld']=='') {$zagol=$title[sv];} else {$zagol=$title[spec];};
    if ($_GET['vks']=='show' && $_GET['sv']=='' && $_GET['sd']=='' && $_GET['m']=='' && $_GET['bio']=='' && $_GET['ras']=='' && $_GET['tm']=='' && $_GET['ld']=='') {$zagol=$title[vks];} else {$zagol=$title[spec];};
    if ($_GET['m']=='show' && $_GET['sv']=='' && $_GET['vks']=='' && $_GET['sd']=='' && $_GET['bio']=='' && $_GET['ras']=='' && $_GET['tm']=='' && $_GET['ld']=='') {$zagol=$title[m];} else {$zagol=$title[spec];};
    if ($_GET['bio']=='show' && $_GET['sv']=='' && $_GET['vks']=='' && $_GET['m']=='' && $_GET['sd']=='' && $_GET['ras']=='' && $_GET['tm']=='' && $_GET['ld']=='') {$zagol=$title[bio];} else {$zagol=$title[spec];};
    if ($_GET['ras']=='show' && $_GET['sv']=='' && $_GET['vks']=='' && $_GET['m']=='' && $_GET['bio']=='' && $_GET['sd']=='' && $_GET['tm']=='' && $_GET['ld']=='') {$zagol=$title[ras];} else {$zagol=$title[spec];};
    if ($_GET['tm']=='show' && $_GET['sv']=='' && $_GET['vks']=='' && $_GET['m']=='' && $_GET['bio']=='' && $_GET['ras']=='' && $_GET['sd']=='' && $_GET['ld']=='') {$zagol=$title[tm];} else {$zagol=$title[spec];};
    if ($_GET['ld']=='show' && $_GET['sv']=='' && $_GET['vks']=='' && $_GET['m']=='' && $_GET['bio']=='' && $_GET['ras']=='' && $_GET['tm']=='' && $_GET['sd']=='') {$zagol=$title[ld];} else {$zagol=$title[spec];};

    Первые попытки писать на PHP...

    BOOMik, 22 Ноября 2010

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

    +163

    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
    function utf8_win ($s){
    	$out="";
    	$c1="";
    	$byte2=false;
    	for ($c=0;$c<strlen($s);$c++){
    		$i=ord($s[$c]);
    		if ($i<=127) $out.=$s[$c];
    		if ($byte2){
    			$new_c2=($c1&3)*64+($i&63);
    			$new_c1=($c1>>2)&5;
    			$new_i=$new_c1*256+$new_c2;
    			if ($new_i==1025){
    				$out_i=168;
    			}else{
    				if ($new_i==1105){
    					$out_i=184;
    				}else {
    					$out_i=$new_i-848;
    				}
    			}
    			$out.=chr($out_i);
    			$byte2=false;
    		}
    		if (($i>>5)==6) {
    			$c1=$i;
    			$byte2=true;
    		}
    	}
    	return $out;
    }

    iconv не по мне..., я лучше с побитовыми операциями поработаю, зато сам!
    Гораздо медленее правда, зато своё!

    dwinner, 22 Ноября 2010

    Комментарии (20)
  7. Си / Говнокод #4510

    +109

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    /*
    * The dump header describes the contents of a crash dump.  Two headers
    * are written out: one at the beginning of the dump, and the other at
    * the very end of the dump device.  The terminal header is at a known
    * location (end of device) so we can always find it.  The initial header
    * is redundant, but helps savecore(1M) determine whether the dump has been
    * overwritten by swap activity.  See dumpadm(1M) for dump configuration.
    */
    #define	DUMP_MAGIC	0xdefec8edU		/* dump magic number */

    вот такая сигнатура у крэшдампа соляриса

    bugmenot, 02 Ноября 2010

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

    +164

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    function CheckDBInsert($str)
    {
    $arr = array("INSERT","SELECT","UPDATE","DELETE","FLUSH","UNION","CONCAT","SET","GRANT","--",";","..","'","-","%","(",")");
    foreach ($arr as $v) {
    $pos = strpos($str, $v);
    if ($pos === false) {
    	} else {
    return "ОШИБКО";
    die();
    }
    }

    код мой 3-летней давности....я плакалЬ(но он работал!)

    Steel2010, 31 Октября 2010

    Комментарии (20)
  9. Куча / Говнокод #4464

    +132

    1. 1
    2. 2
    3. 3
    4. 4
    <div class="no-display">
    	<input type="hidden" name="product" value="<?php echo $_product->getId() ?>" />
    	<input type="hidden" name="related_product" id="related-products-field" value="" />
    </div>

    дефолтная тема Megento. подобными вещами полна коробочка...

    govnoboy, 27 Октября 2010

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

    +167

    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
    <script type="text/javascript">
    <!--//--><![CDATA[//><!--
    $("#cardbutton89").click( function () {
    $("#confirmation_of_order89").css({opacity: 1}).show().animate({opacity: 0}, 3000 );
    $("#korzina").load("/korzina.php", {
    "zakaz": "Еврокнижка \"Лерида\"",
    "colvo": $("#cardinputtext89").val(),
    "zena": "10750"
    });
    } );
    
    
    //--><!]]>
    </script>
    <script type="text/javascript">
    <!--//--><![CDATA[//><!--
    $("#cardbutton88").click( function () {
    $("#confirmation_of_order88").css({opacity: 1}).show().animate({opacity: 0}, 3000 );
    $("#korzina").load("/korzina.php", {
    "zakaz": "Еврокнижка \"Легион\"",
    "colvo": $("#cardinputtext88").val(),
    "zena": "15170"
    });
    } );
    
    
    //--><!]]>
    </script>
    ...

    Число script'ов по числу товаров на странице. С того же сайта, что и http://govnokod.ru/4404

    telnet, 27 Октября 2010

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

    +165

    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
    $conf_is_homepage=(strpos(strtolower($_SERVER['PHP_SELF']),"/index.php")>0)?true:false;
    
    
    
    $accounttype=explode("|","General User|Administrator");
    
    
    
    $accountstatus=explode("|","Inactive|Active");
    
    
    
    $varLabel=explode("|","Message|First Name|Last Name|Username|User Email|Password");
    
    
    
    $varName=explode("|","xxMESSAGExx|xxFIRSTNAMExx|xxSURNAMExx|xxUSERNAMExx|xxUSEREMAILxx|xxPASSWORDxx");
    
    $varValue=explode("|","message_|cus_fname|cus_lname|cus_username|cus_email|cus_password");
    
    // Error & Messages
    
    $site_root=$conf_script_folder."/";
    
    
    
    //$arrDayNames=explode('|', 'Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday');
    
    $arrDayNames=explode('|', 'Weekdays|Saturday|Sunday');

    bytes, 18 Октября 2010

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