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

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

    +79

    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
    String [] itemmas = item.split("~");
    
    String start = "";
    String end = "";
    String task = "";
    String project = "";
    String wtype = "";
    String desc = "";
    try{
       start = itemmas[0];
    }catch (Exception e){}
    try{
       end = itemmas[1];
    }catch (Exception e){}
    try{
       task = itemmas[2];
    }catch (Exception e){}
    try{
       project = itemmas[3];
    }catch (Exception e){}
    try{
       wtype = itemmas[4];
    }catch (Exception e){}
    try{
       desc = itemmas[5];
    }catch (Exception e){}
    
    if(start==null||start.equals("null")){start="";};
    if(end==null||end.equals("null")){end="";};
    if(task==null||task.equals("null")){task="";};
    if(project==null||project.equals("null")){project="";};
    if(wtype==null||wtype.equals("null")){wtype="";};
    if(desc==null||desc.equals("null")){desc="";};

    gorsash, 21 Января 2011

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

    +160

    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
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    function sinonimizer($my_text)
    {
    $arr_ = file(dirname(__FILE__).'/new_words.txt');
    $arr = array();
    foreach ($arr_ as $str)
    {
        $str = trim($str);
    	$t1 = explode('|', $str);
    	$master = trim($t1[0]); //пихаем слово которое заменять
    	if (!isset($t1[1]))
    		continue;
    	$t2 = explode('|', $t1[1]); //Тут слово которым заменять
    	if (sizeof($t2) == 0)
    		continue;
    	//Дальше волшебные мунипуляции
    
    	foreach ($t2 as $t)
    		$arr[crc32(strtolower($master))][crc32(strtolower(trim($t)))] = array('word' =>
    		trim($t), 'rep' => 0);
    }
    $my_text=str_replace(array("\n","\t","\r")," ",$my_text);
    $text_arr = explode(' ', $my_text);
    $str_ = '';
    
    foreach ($text_arr as $item)
    {
    	$fl = false;
    	$t = str_replace('.', '', str_replace(',', '', str_replace('!', '',
    	str_replace('?', '', str_replace('"', '', str_replace('\'', '',
    	str_replace('<', '', str_replace('>', '', str_replace(':', '',
    	str_replace(';', '', $item))))))))));
    	if (isset($arr[crc32(strtolower($t))]))
    	{
    		foreach ($arr[crc32(strtolower($t))] as $k => $v)
        		if ($v['rep'] == 0)
    			{
    				$str_ .= str_ireplace($t, "$v[word]", $item) . ' ';
    				$$v['rep'] = 1;
    				$fl = true;
    				break;
    			}
    	}
    	if (!$fl) $str_ .= $item . ' ';
    }
    
    return $str_;
    }
    
    function sinonimizer_new($my_text)
    {
    $arr_ = file(dirname(__FILE__).'/new_words.txt');
    $arr = array();
    foreach ($arr_ as $str)
    {
        $str = trim($str);
    	$t1 = explode('|', $str);
    	$master = trim($t1[0]); //пихаем слово которое заменять
    	if (!isset($t1[1]))
    		continue;
    	$t2 = explode('|', $t1[1]); //Тут слово которым заменять
    	if (sizeof($t2) == 0)
    		continue;
    	//Дальше волшебные мунипуляции
    
    	foreach ($t2 as $t)
    		$arr[(strtolower($master))][(strtolower(trim($t)))] = array('word' =>
    		trim($t), 'rep' => 0);
    }
    $my_text=str_replace(array("\n","\t","\r")," ",$my_text);
    $text_arr = explode(' ', $my_text);
    
    $str_ = '';
    
    foreach ($text_arr as $item)
    {
    	$fl = false;
    	$t = str_replace('.', '', str_replace(',', '', str_replace('!', '',
    	str_replace('?', '', str_replace('"', '', str_replace('\'', '',
    	str_replace('<', '', str_replace('>', '', str_replace(':', '',
    	str_replace(';', '', $item))))))))));
    
    	if (isset($arr[(strtolower($t))]))
    	{
           
    		foreach ($arr[(strtolower($t))] as $k => $v)
        		if ($v['rep'] == 0)
    			{
    				$str_ .= str_ireplace($t, "$v[word]", $item) . ' ';
    				$$v['rep'] = 1;
    				$fl = true;
    				break;
    			}
    	}
    	if (!$fl) $str_ .= $item . ' ';
    
    
    }
    
    return $str_;

    волшебные мунипуляции

    govnozmey, 12 Января 2011

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

    −861

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    CREATE FUNCTION "insert_payment" (integer) RETURNS integer AS '                                                                                                                     
    DECLARE                                                                                                                                                                             
            l_payment       integer;                                                                                                                                                    
    BEGIN                                                                                                                                                                               
            INSERT INTO payments (client,type_,pdate,number_)                                                                                                                           
            VALUES ($1,4,current_date,nextval_(''payments_number_1_seq''));                                                                                                             
                                                                                                                                                                                        
            SELECT INTO l_payment last_value FROM payments_id_seq;                                                                                                                      
            RETURN l_payment;                                                                                                                                                           
    END;' LANGUAGE 'plpgsql';

    Функция должна вставлять платеж и возвращать его id.
    Под нагрузкой конечно же 8 строка возвращает нен тот id. (когда несколько параллельных транзакций успевают сделать вставку.)
    Что интересно - возвращаемый функцией id используется другой хранимкой для проставления суммы платежа. И это пости всегда работает :)
    Перл от "отцов основателей".

    SanityIO, 12 Января 2011

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    $res = GetMysqlRes("SELECT anons2 FROM {$oCfg->prefX}core WHERE id=93");
    	while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) {
    		$to = $row[0];
    	}

    В CMS есть поле E-Mail, куда отправлять новые заказы.
    Так же есть поле anons, куда обычно пишется анонс статьи или страницы.
    В данном случае для хранения мыла, была создана отдельная строка anons2, туда же записывался адрес.

    P.S. Мазе привет.

    De-Luxis, 12 Января 2011

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if( $check_referer ) {
    	if( $_SERVER['HTTP_REFERER'] == ''and $_REQUEST['subaction'] != 'dologin') $allow_login = true;
    	elseif( clean_url( $_SERVER['HTTP_REFERER'] ) == clean_url( $_SERVER['HTTP_HOST'] ) ) $allow_login = true;
    }else {
    	$allow_login = true;
    }

    dle software

    DanxilLs, 12 Января 2011

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

    −314

    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
    #pragma mark -
    #pragma mark Table view delegate
    
    - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
    {
    	if (indexPath.section == 3 && indexPath.row == 0) {
    		CGSize fitSize = [[item objectForKey:@"note"]
    							sizeWithFont:[UIFont boldSystemFontOfSize:18]
    							constrainedToSize:CGSizeMake([UIScreen mainScreen].bounds.size.width - 50, MAXFLOAT)
    							lineBreakMode:UILineBreakModeWordWrap];
    		
    		return fitSize.height;
    	}
    	
    	return [self.tableView rowHeight];
    }

    Я тут на Objective C говнокодить стал, вот моя почти первая аппса
    http://itunes.apple.com/ru/app/qx9pro/id408832020?mt=8

    striker, 11 Января 2011

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

    +98

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    if a[512] < x then L := n – 512 + 1;
    if a[L + 256] < x then L := L + 256;
    if a[L + 128] < x then L := L + 128;
    if a[L + 64] < x then L := L + 64;
    if a[L + 32] < x then L := L + 32;
    if a[L + 16] < x then L := L + 16;
    if a[L + 8] < x then L := L + 8;
    if a[L + 4] < x then L := L + 4;
    if a[L + 2] < x then L := L + 2;
    if a[L + 1] < x then L := L + 1;

    Взято из методического пособия по программированию - отрывок из алгоритма бинарного поиска (реализация для сходимости в 9 шагов)

    diok, 10 Января 2011

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

    +145

    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
    private boolean save(Writer writer, int indent) {
      StringBuffer nlb = new StringBuffer("\n");
      for (int i = 0; i < indent; i++) {
       nlb.append("\t");
      }
      String nl = nlb.toString();
      Writer s = writer;
      try {
       if (this.isRoot()) {
        s.append("<?xml version=\"1.0\" encoding=\"");
        s.append(Charset.defaultCharset().displayName());
        s.append("\"?>");
       }
       s.append(nl);
       s.append("<");
       s.append(RegNode.EL_NODE);
       s.append(" ");
       s.append(RegNode.ATT_NAME);
       s.append("=\"");
       s.append(this.getName());
       s.append("\">");
       if (this.getData() != null) {
        s.append(nl);
        s.append("\t<");
        s.append(RegNode.EL_DATA);
        s.append(" ");
        s.append(RegNode.ATT_TYPE);
        s.append("=\"");
        s.append(RegNode.getTypeFor(this.getData()));
        s.append("\" ");
        s.append(RegNode.ATT_ENCODE);
        s.append("=\"");
        s.append(this.getMethod());
        s.append("\">");
        s.append(nl);
        s.append("\t\t");
        s.append(RegNode.encodeData(this.getData(), this.getMethod()));
        s.append(nl);
        s.append("\t</");
        s.append(RegNode.EL_DATA);
        s.append(">");
       }
       for (RegNode child : this.getChildren()) {
        s.append("\t");
        child.save(s, indent + 1);
       }
       s.append(nl);
       s.append("</");
       s.append(RegNode.EL_NODE);
       s.append(">");
       return true;
      } catch (IOException e) {
       e.printStackTrace();
      }
      return false;
     }

    не нужен нам ни DOM, ни SAX, ни JAXB!

    из класса, пытающегося реализовать себе "Windows Registry"-подобное древовидное хранилище.
    каюсь, лисапед тоже мой = )

    Lure Of Chaos, 10 Января 2011

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

    +84

    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
    procedure TForm1.Button1Click(Sender: TObject);
    var i,i2,p,g,gg3: integer;
    gg:string;
    gg2: Real;
    begin
    g:=0;
    gg:=intTOstr((Length(Memo1.Lines.Text)));
    gg2:=StrToFloat(gg)/4;
    gg3:=Trunc(gg2);
    gg:=Memo1.Lines.Text;
    for i2:=1 to gg3 do begin
      p:=pos('котэ',gg);
      if p>0 then begin
      Delete(gg,p,4);
      g:=g+1;
      Label1.Caption:=IntToStr(g);
      end;
      end;
    end;

    Алгоритм поиска слова - "котэ" в Memo1.
    УжОс...

    firerap, 09 Января 2011

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

    −173

    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
    fout = open("number23.out", "w")
    fin = open("number23.in", "r")
    N = int(fin.read())
    secret = 6
    key = 9
    system = 10
    Magic23 = 23
    magic1 = magic2 = 0
    if(N < Magic23//2):
        N = Magic23//2
    for j in range(0, Magic23//2 + (Magic23 - 1)*((N - Magic23//2)//(Magic23-1)) - 1, 2):
        magic1 *= system
        magic1 += key - secret
        magic1 *= system
        magic1 += secret
        magic2 *= system
        magic2 += key - (system - secret)
        magic2 *= system
        magic2 += system - secret
    magic1 *= system
    magic1 += system - secret
    magic2 *= system
    magic2 += secret
    if(N % 2):
        power = str(magic1 ** 2)
        fout.write(power[len(power)//2:])
    else:
        power = str(magic2 ** 2)
        fout.write(power[len(power)//2:])
    fout.close()
    fin.close()

    нужно было найти число длины от N до N + 23, такое, чтобы удвоенная его запись была полным квадратом натурального числа) Оценивайте) Приятного говноосмотра)

    Novi4oK, 06 Января 2011

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