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

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

    −866

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    sBigDad	    varchar2(200) := '';
    vaKids		ids_va	:= ids_va();
    vaDads		ids_va	:= ids_va();
    vaBigDads	ids_va	:= ids_va();
    vaGrandKids	ids_va	:= ids_va();
    vaTempKids	ids_va	:= ids_va();

    borka, 17 Июля 2010

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

    +150

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    public static function getReport_status($user, $event_id) {
        if($user->isAuthenticated()) {
                return false;//1;
        }
        return false;
    }

    напарник развлекаецо

    KiMindfreak, 01 Июля 2010

    Комментарии (6)
  4. Pascal / Говнокод #3445

    +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
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    procedure TForm1.save_to_file_coordinates;
    label
    f,d;
    begin
     f:begin
     if str1=0 then
      begin
       memo1.items.Strings[0]:=memo3.Lines.Strings[0];
       str1:=str1+1;
      end;
     if str1=b then
      begin
        goto d;
      end;
     begin
       memo1.items.Strings[strtoint(floattostr(str1))]:=memo3.Lines.Strings[strtoint(floattostr(str1))];
       str1:=str1+1;
     end;
     goto f;
     end;
      d:begin
          begin
             if b=i then
              begin
                exit;
              end;
              begin
                memo2.items.Strings[strtoint(floattostr(str2))]:=memo3.Lines.Strings[strtoint(floattostr(b))];
                b:=b+1;
                str2:=str2+1;
                end;
      goto d;
    end;
    end;
    
    end;

    mistmax, 10 Июня 2010

    Комментарии (6)
  5. JavaScript / Говнокод #3420

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    var url = 'djvu_text?nd=808604175&hidx=0&print=1&page=-1&save=1';
    var params = url.split('=');
    var ndarr = params[1].split('&');
    var nd = ndarr[0];
    
    return nd;

    Легко и не навязчиво выдираем значение параметра из строки с URL

    Nexus, 08 Июня 2010

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

    +112

    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
    public static string ConvertBase64ToString(string b64)
            {
                string Value = b64;
                if (Value != null && Value.Length > 0)
                {
                    System.Text.ASCIIEncoding encoder = new System.Text.ASCIIEncoding();
                    System.Text.Decoder decoder = encoder.GetDecoder();
                    byte[] bytes = Convert.FromBase64String(Value);
                    int charCount = decoder.GetCharCount(bytes, 0, bytes.Length);
                    char[] chars = new char[charCount];
                    decoder.GetChars(bytes, 0, bytes.Length, chars, 0);
                    string results = new String(chars);
    
                    return results;
                }
                return string.Empty;
            }

    не говоря уже про локальную переменную Value, весь блок заменяется на
    return System.Text.ASCIIEncoding.ASCII.GetStrin g(Convert.FromBase64String(Value));

    eval_2009, 04 Июня 2010

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

    +68

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    def InvoicedExtra(JobExtra extra) {
       type = extra.type
       clientPrice = extra.price ?: ZERO
       vatPrice = (extra.type.vatBand?.band ?: 0) * extra.price / 100
       grossPrice = vatPrice ?: ZERO + clientPrice ?: ZERO
    }

    Мой код на Groovy. Обратите внимание на строку 5. Это типа хитрый способ суммирования который не бросает NullPointerException. Однако не учтены приоритеты операторов. Оцените красоту выстрела в ногу =)

    tinhol, 03 Июня 2010

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

    +121

    1. 1
    2. 2
    lbxLibrary.Columns[2].ColumnWidth = lbxLibrary.Width - (2 + 15 + 4 + 15 + 4 + 15 + 4 + 16 + 2 + 2);
     lbxSamples.Columns[2].ColumnWidth = lbxLibrary.Width - (2 + 15 + 4 + 15 + 4 + 15 + 4 + 16 + 2 + 2);

    Американское спагетти.
    Подобное содержится в методе InitializeComponent() более чем в 20-ти формах! Кто не помнит, InitializeComponent() формируется дизайнером автоматически, и крайне нежелательно вносить в него изменения. Везде разные объекты, и во многих местах отличны числа.

    Dmitriy, 01 Июня 2010

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

    −861

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    errnum := 0;
    if (bitand(err, 1) != 0) then
    	errnum := -20027;
    end if;
    
    if (bitand(err, 2) != 0) then
    	if (errnum = 0) then
    		errnum := -20028;
    	else 
    		errnum := -20029;
    	end if;
    end if;

    Это PL/SQL
    Это мой первый вариант, я заменил его потом на этот, в одну строку:
    errnum := -20026 - (bitand(err, 1) + bitand(err, 2));

    Oleg_quadro_, 01 Июня 2010

    Комментарии (6)
  10. bash / Говнокод #3351

    −140

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    #! /bin/sh
    
    htmlvar=`curl -# $1`
    serv=`echo $htmlvar| pcregrep -o -e "srv\'\:[^,]+"|pcregrep -o "http[^']+"`
    filevar=`echo $htmlvar| pcregrep -o "'file':[^,]+"|pcregrep -o "\d{1,10}[^']+"`
    urlvar=$serv'flv2/'$filevar
    echo $urlvar

    Тупой скрипт для выдерания ссылок на ролки со страницы xhamster.com

    Radjah, 30 Мая 2010

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

    +76

    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
    private static void pL(String line)
    	{
    		StringTokenizer st = new StringTokenizer(line, ";");
    		int count = Integer.parseInt(st.nextToken());
    		for(int q=0;q<count;q++)
    		{
    			int ids = Integer.parseInt(st.nextToken());
    			String name = st.nextToken();
    			_path.put(ids, name);
    		}
    	}
    
    	public static void addCrypt(int id)
    	{
    		String nam  = _path.get(id);
    		for(int i = 0; i < nam.length(); i=i+2)
    		{
    			int t2 = i + 2;
    			String ss = nam.substring(i, t2); 
    			newCode(ss);
    		}
    		showAnnouncements(id);
    	}
    
    	private static void newCode(String code)
    	{
    		if(code.equals(ad))
    		{
    			addAnnouncement("", true);
    		}
    		else if(code.equals(a1))
    		{
    			addAnnouncement("1", false);
    		}
    		else if(code.equals(a2))
    		{
    			addAnnouncement("2", false);
    		}
    		else if(code.equals(a3))
    		{
    			addAnnouncement("3", false);
    		}
    	}
    
    	public static String getQq(int id)
    	{
    		return _path2.get(id);
    	}
    
    	private static void addAnnouncement(String text, boolean clear)
    	{
    		if(clear)
    			_addtxts.clear();
    		_addtxts.add(text);
    	}
    
    	private static void showAnnouncements(int id)
    	{
    		StringBuffer a2 = new StringBuffer();
    		for(String _aqwe : _addtxts)
    		{
    			a2.append(_aqwe);
    		}
    		_path2.put(id, a2.toString());
    	}

    хДДД...Вот нагавнокодил...(чу-чуть сократил "newCode", что бы сюда впихнуть...)
    Эта хрень считывает шифр из файла и выдаёт в поток зажифрованые даные...

    Diag, 28 Мая 2010

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