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

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

    +969.3

    1. 1
    foreach (int i in new int[] {1, 2, 3, 4, 5}) {

    Питон - суть великое зло! Он разрушает мозг даже очень хороших программистов.

    paladin80, 27 Февраля 2010

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

    +160.6

    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
    <?php
    ...
    if(isset($_POST["SURE"]) && isset($_POST["id"])) {
        removePost($_POST["id"]);
    }
    ...
    ?>
    ...
    <form action="remove.php"  method="POST">
        ...
        <input type="hidden" name="SURE" value="SIR, YES, SIR!">
        ...
    </form>

    SURE нужна для того, чтобы удостовериться, что пользователь попал на страницу нажав кнопку, а не просто перейдя на нее.
    из кода одного неизвестно кем написанного блога-движка

    danilissimus, 27 Февраля 2010

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

    +161.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $_SESSION['username'] = '';           
                            
    if($_SESSION['username'] == 'user') {            
    $this->load->view('admin/admin.php');
    } else {
        //blabla             
    }

    Писать код, не зная основ, страшная штука +)

    be3, 27 Февраля 2010

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

    +176.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if(empty($username) || $username){
      // ...
       if($id == $row['id'] || $row['id'] == $id || ($row['id'] == $id && $id == $row['id'])){
          // ...
       }
    }

    Было дело года два назад...
    Форма авторизации, как я мог написать такой бред? =)

    Zver, 24 Февраля 2010

    Комментарии (13)
  6. Java / Говнокод #2658

    +77.1

    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
    public static boolean isValidUser(String user)
    	{
    		if(user == null) return true;
    		int len = user.length();
    		if (len > 255) return false;
    		char c;
    		for(int i=0; i<len; i++)
    		{
    			c = user.charAt(i);
    			if (c <= ' ') return false;
    			if (c == ':') return false;
    			if (c == '@') return false;
    			if (c == '"') return false;
    			if (c == '>') return false;
    			if (c == '<') return false;
    			if (c == '/') return false;
    			if (c == '\'') return false;
    			if (c == '&') return false;
    			if (c == '\u077F') return false;
    			if (c == '\u0FFE') return false;
    			if (c == '\u0FFF') return false;
    		}
    		return true;
    	}

    проверка имени пользователя на плохие символые в Jeti

    danilissimus, 24 Февраля 2010

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

    +114.3

    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
    static void JoinFiles(string FileOne, string FileTwo, string Out)
    		{
    			//declare head size
    			const long HeadSize = sizeof(long) * 4;
    			//get files size
    			long FFS = (new FileInfo(FileOne).Length),
    				  SFS = (new FileInfo(FileTwo).Length);
    			//Full paths of files
    			string FFFN = Path.GetFileName(Path.GetFullPath(FileOne)),
    					 SFFN = Path.GetFileName(Path.GetFullPath(FileTwo));
    			//calculate offsets
    			long FirstFileOffset = HeadSize + FFFN.Length,
    				  FirstFileNameOffset = HeadSize,
    				  SecondFileNameOffset = FirstFileOffset + FFS,
    				  SecondFileOffset = SecondFileNameOffset + SFFN.Length;
    			//declare head
    			byte[] Head = new byte[HeadSize];
    			/*	
    			 *		FFO	FFNO			SFO	SFNO
    			 */
    			//Format head
    			Head = JoinArrays<byte>(BitConverter.GetBytes(FirstFileOffset),
    										 BitConverter.GetBytes(FirstFileNameOffset),
    										 BitConverter.GetBytes(SecondFileOffset),
    										 BitConverter.GetBytes(SecondFileNameOffset));
    			//declare streams
    			System.IO.BinaryReader FBR = new BinaryReader(File.OpenRead(FileOne));
    			System.IO.BinaryWriter BW = new System.IO.BinaryWriter(File.Create(Out));
    			//Write head information
    			foreach (byte b in Head) BW.Write(b);
    			//Write first file name
    			byte[] buffer = System.Text.ASCIIEncoding.ASCII.GetBytes(FFFN);
    			BW.Write(buffer, 0, buffer.Length);
    			//Write first file
    			for (long id = 0; id < FFS; id++) BW.Write(FBR.ReadByte());
    			//Write second file name
    			buffer = System.Text.ASCIIEncoding.ASCII.GetBytes(SFFN);
    			BW.Write(buffer, 0, buffer.Length);
    			//Open second file
    			FBR.Close();
    			FBR = new BinaryReader(File.OpenRead(FileTwo));
    			//Write second file
    			for (long id = 0; id < SFS; id++) BW.Write(FBR.ReadByte());
    			//Save result
    			BW.Flush();
    			//Close streams
    			FBR.Close();
    			BW.Close();
    		}

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

    psina-from-ua, 21 Февраля 2010

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

    +164.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
    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
    if($s_r1>0){
    while($s_ww_1=mysql_fetch_object($s_q_1)){
    $row_repl1["id"]=$s_ww_1->id;
    $row_repl1["name"]=$s_ww_1->name;
    $row_repl1["nick"]=$s_ww_1->nick;
    if($s_ww_1->nick==''){
    $row_tpl1 = new FileTemplate($row_repl1, "TEMPL/shabl119.tpl");
    }else{
    $row_tpl1 = new FileTemplate($row_repl1, "TEMPL/shabl120.tpl");
    }
    $row_repl0["T_level1"].=$row_tpl1->parse();
    $row_repl1=array();
    }// end while
    @mysql_free_result($s_q_1);
    }//if
    $row_tpl0 = new FileTemplate($row_repl0, "TEMPL/shabl152.tpl");
    $row_tpl0->display();
    $row_repl0=array();
    }// end while
    @mysql_free_result($s_q);
    }//if
    }elseif($lnk1==47){
    $s_q=mysql_query("SELECT id, name, descr FROM experts WHERE id=$lnk2 LIMIT 1");
    $s_r1 = mysql_error() ? 0 : mysql_num_rows($s_q);
    if($s_r1>0){
    while($s_ww=mysql_fetch_object($s_q)){
    $row_repl["id"]=$s_ww->id;
    $row_repl["name"]=$s_ww->name;
    $row_repl["descr"]=$s_ww->descr;
    $row_tpl = new FileTemplate($row_repl, "TEMPL/shabl18.tpl");
    $row_tpl->display();
    $row_repl=array();
    }// end while
    @mysql_free_result($s_q);
    }//if
    }elseif($lnk1==54){
    $s_q=mysql_query("SELECT id, name, subtitle, type, number, doclevel, body, date, descr, txt, shows, prompt FROM documents WHERE id=$lnk2 LIMIT 1");
    $s_r1 = mysql_error() ? 0 : mysql_num_rows($s_q);
    if($s_r1>0){
    while($s_ww=mysql_fetch_object($s_q)){
    $row_repl["id"]=$s_ww->id;
    $row_repl["name"]=$s_ww->name;
    $row_repl["subtitle"]=$s_ww->subtitle;
    $row_repl["ParentType"]=$s_ww->type;
    $ParentType=$row_repl["ParentType"];
    $s_q2=mysql_query("select name as type_doctypes_name from doctypes where id=".$s_ww->type."");
    $s_n2 = mysql_error() ? 0 : mysql_num_rows($s_q2);
    if($s_n2>0){
    $s_w2=mysql_fetch_object($s_q2);
    $row_repl["type_doctypes_name"]=stripslashes($s_w2->type_doctypes_name);
    @mysql_free_result($s_q2);
    }//s_n2
    $row_repl["number"]=$s_ww->number;
    $row_repl["doclevel"]=$s_ww->doclevel;
    $s_q2=mysql_query("select name as doclevel_doclevels_name from doclevels where id=".$s_ww->doclevel."");
    $s_n2 = mysql_error() ? 0 : mysql_num_rows($s_q2);
    if($s_n2>0){
    $s_w2=mysql_fetch_object($s_q2);
    $row_repl["doclevel_doclevels_name"]=stripslashes($s_w2->doclevel_doclevels_name);
    @mysql_free_result($s_q2);
    }//s_n2
    $row_repl["body"]=$s_ww->body;
    $row_repl["date"]=mysqldate_to_str($s_ww->date);
    $row_repl["descr"]=$s_ww->descr;
    $row_repl["txt"]=$s_ww->txt;
    $row_repl["shows"]=intval($s_ww->shows)+1;
    @UpdateFCounter("documents","shows","copyshows","id",$s_ww->id);

    Использовано в коде одного из проектов, оставшихся на поддержку. Такой красоты там только в одном файле - около 8000 строк.

    karevn, 10 Февраля 2010

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

    +170.7

    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
    if ((($company == "1none")&&($office == "loreal"))||($company == "146/710")){
       $from = "[email protected]";
       if ($kto == "c"){
        $to = $req1['email'].",[email protected]";
       }
       else{
        $to = $req1['MAILR'].",[email protected]";
       }
      }
    
      else{
       $from = "[email protected]";
       if ($kto == "c"){
        $to = $req1['email'].",[email protected]";
       }
       else{
        $to = $req1['MAILR'].",[email protected]";
       }
      }

    сейчас вот это говно приходится переводить на нормальный язык

    CountZero, 08 Февраля 2010

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

    +148.7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if(!$result = MYSQL_QUERY("SELECT gmr_id, gam_chip, gam_price, gam_status FROM ".PREFIX."_games;")) { die(mysql_error()); exit; }
    if(MYSQL_NUMROWS($result))
    {
        //какой-то код
    }

    А я-то думаю, чего это скрипту не хватает памяти - а в таблице несколько тысяч записей.

    azzz, 08 Февраля 2010

    Комментарии (13)
  11. Pascal / Говнокод #2559

    +101.2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
    sec:=sec+1;
    if sec>59 then begin sec:=0; min:=min+1; end;
    if min>59 then begin min:=0; ch:=ch+1; end;
    statusbar1.Panels.Items[1].Text:=IntToStr(ch)+':'+IntToStr(min)+':'+IntToStr(sec);
    end;

    таймер

    xXx_totalwar, 06 Февраля 2010

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