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

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

    +68

    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
    public class Pages extends TabActivity {
    
    	public static TabHost host;	
           
            @Override
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		host = getTabHost();
                    // много говнокода
            }
    }
    
    public class Table extends Activity {
    //много говнокода
    
    	@Override
    	protected void onResume() {
    		super.onResume();
    		if (!loading) {
    			loading = true;
    			new MainTask().execute();
    		}
    	}
    
    	private class MainTask extends AsyncTask<Void, String, Void> {
                    //безумнейший парсинг в donInBackground()
    
    		@Override
    		protected void onPostExecute(Void unused) {
                           //разбираемся с тем, что пришло - для начала отлавливаем ошибки в парсере.
    			if (!timeOut) {
    				AlertDialog dlg = new AlertDialog.Builder(TableOfGroups.this).setTitle(Data.lowConnectionTitle)
    						.setMessage(Data.lowConnectionText).setOnCancelListener(new DialogInterface.OnCancelListener() {
    							@Override
    							public void onCancel(DialogInterface dialog) {
    								loading = false;
    								if (!update) {
    									Pages.host.setCurrentTab(Data.savePageIndex - 1);
    								}
    							}
    						}).setPositiveButton("OK", new DialogInterface.OnClickListener() {
    							@Override
    							public void onClick(DialogInterface dialog, int whichButton) {
    								loading = false;
    								if (!update) {
    									Pages.host.setCurrentTab(Data.savePageIndex - 1);
    								}
    							}
    						}).create();
    				dlg.show();
    				if (!update)
    					return;
    			}
                            //ещё около 150 строк подобной ловли
                    }
            }
    }

    Задача (Android): имеется активити со вкладками (Pages), внутри него - дочерние активити. Если в активити Table на 4-й вкладке происходит косяк, то нужно показать диалог и перепрыгнуть на 1-ю вкладку.

    QuickNick, 30 Января 2012

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

    +175

    1. 1
    2. 2
    3. 3
    // Вопрос: Как быстро и наименее затратно для памяти\процессора проверить пустой ли каталог?
    // Один из ответов:
    if(rmdir($dir)) echo 'Была пустая директория.';

    bot-minurast, 25 Января 2012

    Комментарии (19)
  4. VisualBasic / Говнокод #9199

    −106

    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
    Turtle.Show()
    Turtle.Move (200)
    Turtle.TurnRight()
    Turtle.TurnRight()
    Turtle.Move(100)
    Turtle.TurnLeft()
    Turtle.Move(100)
    Turtle.TurnRight()
    Turtle.Move(100)
    Turtle.TurnRight()
    Turtle.TurnRight()
    Turtle.Move(200)
    
    Turtle.PenUp()
    Turtle.MoveTo(500, 0)
    Turtle.MoveTo(500, 250)
    Turtle.PenDown()
    Turtle.Angle = 0
    Turtle.Move(180)
    Turtle.PenUp()
    Turtle.Move(10)
    Turtle.PenDown()
    Turtle.Move(3)

    KotoFey1ch, 23 Января 2012

    Комментарии (19)
  5. C# / Говнокод #9145

    +969

    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
    public static string ConvertNumberToString(double tmpStr)
            {
                string ret = "";
                try
                {
                    if (((long)tmpStr).ToString().Length > 3)
                    {
                        string len = ((long)tmpStr).ToString();
                        string[] strSplit = tmpStr.ToString().Split(',');
    
                        long tmpM = 0;
                        if (strSplit.Length > 1)
                            tmpM = Convert.ToInt64(strSplit[1]);
    
                        int count = (int)len.Length / 3;
                        ret = len.Substring(0, (len.Length - 3 * count));
                        for (int i = 0; i < count; i++)
                        {
                            ret += " " + len.Substring((ret.Length - i), 3);
                        }
                        if (tmpM > 0)
                        {
                            ret += "," + strSplit[1];
                        }
                    }
                    else
                        ret = tmpStr.ToString();
                }
                catch
                {
                }
                return ret.Trim();
            }

    Из той же оперы...

    yorikim, 17 Января 2012

    Комментарии (19)
  6. Куча / Говнокод #9113

    +128

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if (i < 1024) {
    ...
    } else if (i/1024 < 1024) {
    ...
    } else if (i/1048576 < 1024) {
    ...
    } else if (i/1073741824 < 1024) {
    ...
    } else {
    return "о$#еть, терабайтный файл!";
    }

    http://ithappens.ru/story/8200
    >Но приложения он пишет отменные

    А в упрощение сравнений не может.

    7ion, 14 Января 2012

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

    +138

    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
    int my_number = count-1;
    	int addition_size =18;
    	if(sock >= 0)
    	{
    		while(1)
    		{
    			bytes_read = recv(sock, buf, 1024, 0);
    			if(bytes_read <= 0) break;
    			send_buf[0]='r';
    			send_buf[1]='e';
    			send_buf[2]='c';
    			send_buf[3]='e';
    			send_buf[4]='i';
    			send_buf[5]='v';
    			send_buf[6]='e';
    			send_buf[7]='d';
    			send_buf[8]=' ';
    			send_buf[9]='m';
    			send_buf[10]='e';
    			send_buf[11]='s';
    			send_buf[12]='s';
    			send_buf[13]='a';
    			send_buf[14]='g';
    			send_buf[15]='e';
    			send_buf[16]=':';
    			send_buf[17]=' ';
    			
    			for(i=addition_size;i<addition_size+bytes_read;i++)
    				send_buf[i]=buf[i-addition_size];
    			for(i=0;i<count;i++)
    				if(i != my_number)
    					send(active_sockets[i], send_buf, bytes_read+addition_size, 0);
    		}
    		close(sock);
    		for(i=my_number;i<count-1;i++)
    			active_sockets[i]=active_sockets[i+1];
    		count--;
    	}

    наша студентота 3курса :(

    null, 10 Декабря 2011

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

    +177

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    "
    <td><span>\".setDiskont2(\$data[price]*{$as_Quantity}, $current_site[Skidka], \$data[Discount]).\"</span></td>
    <th></th>
    </tr>
      ")." 
      ".as_if($totalsum+=as_query("SELECT price FROM Data".$as_ObjectID." WHERE Data_ID=$as_ItemID","\$data[price]")*$as_Quantity*$as_Discount,"")."
    ")."

    Оцените.
    Этот кусок кода хранится в поле таблицы бд, в котором хранится кусок шаблона формы корзины интернет-магазина.
    Функция на шестой строке выводит общую сумму заказа при eval.
    У меня ушло более двух часов, чтобы розыскать логику внутри семикратной (! я не шучу) вложенности include_once, чтобы в итоге понять, что запрос который я искал хранится в самой бд, причем не просто храниться, а хранится внутри бд, внутри php который хранится внутри html... Сам Доминик Кобб позавидовал бы степени вложенности моих кошмаров %)

    antongorodezkiy, 04 Декабря 2011

    Комментарии (19)
  9. Perl / Говнокод #8687

    −122

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    sub GenRandomHash()
    {
    	my $self=shift;
    	my $number=shift||10;
    	my $plain='';
    	my @chars=('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
    	for (my $i=0;$i<$number;$i++)
    	{   
    		$plain.=$chars[rand(59)+2];
    	}
    return $plain;
    }

    Мне бы было лень вбить столько символов :)

    Alikus, 30 Ноября 2011

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

    +120

    1. 1
    if (ViewData["partialViewName"].ToString() == "" ||  ViewData["partialViewName"] == null)

    кратко и лаконично

    sergfreest, 09 Ноября 2011

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

    +140

    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
    void Lcd_goto(uc8 x, uc8 y)
    {
            int str;
            if (x == 0)
            {
                    switch (y)
                    {
                    case 0:  str = 0x80; break;
                    case 1:  str = 0x81; break;
                    case 2:  str = 0x82; break;
                    case 3:  str = 0x83; break;
                    case 4:  str = 0x84; break;
                    case 5:  str = 0x85; break;
                    case 6:  str = 0x86; break;
                    case 7:  str = 0x87; break;
                    case 8:  str = 0x88; break;
                    case 9:  str = 0x89; break;
                    case 10: str = 0x8A; break;
                    case 11: str = 0x8B; break;
                    case 12: str = 0x8C; break;
                    case 13: str = 0x8D; break;
                    case 14: str = 0x8E; break;
                    case 15: str = 0x8F; break;
                    }
    
            }
            if (x==1)
            {
                    switch (y)
                    {
                    case 0:  str = 0xC0; break;
                    case 1:  str = 0xC1; break;
                    case 2:  str = 0xC2; break;
                    case 3:  str = 0xC3; break;
                    case 4:  str = 0xC4; break;
                    case 5:  str = 0xC5; break;
                    case 6:  str = 0xC6; break;
                    case 7:  str = 0xC7; break;
                    case 8:  str = 0xC8; break;
                    case 9:  str = 0xC9; break;
                    case 10: str = 0xCA; break;
                    case 11: str = 0xCB; break;
                    case 12: str = 0xCC; break;
                    case 13: str = 0xCD; break;
                    case 14: str = 0xCE; break;
                    case 15: str = 0xCF; break;
                    }
            }
    
            Lcd_write_cmd(str);
    
    }

    odmin, 26 Октября 2011

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