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

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

    +155

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    function some_function ($aa, $bb) {
            $col_names = _cfg::get('ccc');
            foreach ($bb as $key => $value) {
                $bb[$key][0] = array_search($bb[$key][0], $aa);
                $bb[$key][1] = array_search($bb[$key][1], $aa);
                
                foreach ($this->currency_names as $currency_key => $currency_value) {
                    if ($oil_array[$key][5] == $this->currency_names[$currency_key]['name']) $oil_array[$key][5] = $this->currency_names[$currency_key]['id'];
                }
                $bb[$key] = array_combine($col_names, $bb[$key]);
            }
            return $bb;

    продолжение с Говнокод #8566

    jf4ever, 18 Ноября 2011

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

    +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
    <?php
    $lquery = mysql_query("SELECT * FROM language_settings ORDER BY language_id");
    $llquery = mysql_query("SELECT * FROM language_settings ORDER BY language_id");
    ?>
    
    <?php while($ldata = mysql_fetch_array($lquery)){ ?>
    <a><?=$ldata['language_name'];?></a>
    <?php } ?>
    
    <?php while($lldata = mysql_fetch_array($llquery)){  // Language Loop
    $lang_prefix = $lldata['language_prefix'];
    language($lang_prefix);
    $lang = strtolower($lldata['language_prefix']);
    ?>
            ....
    <?php
    $_lid = $lldata['language_id'];
    $_nid = $_REQUEST['nid'];
    if($_nid!=""){
    // newsid=$_nid AND
    $qry = "SELECT *
    	FROM tbl_products as pc JOIN tbl_products_content as pcc ON pc.product_id=pcc.product_id
    	WHERE  pcc.lang_prefix='".strtolower($lldata['language_prefix'])."' AND pc.product_id='{$_nid}' ORDER BY product_order,product_cat_id";
           $cquery = mysql_query($qry);
           $cdata = @mysql_fetch_array($cquery);
    }
               ...
    }?>

    Вот... попалось недавно такое произведение...

    tsybulskyserg, 11 Ноября 2011

    Комментарии (3)
  4. Куча / Говнокод #8478

    +139

    1. 1
    <input onclick="loadinfo('/http.php?do=enter&login='+username.value+'&password='+password.value+'&ajax=1&enter=1','account'); return false;" type="image" value="" src="/tmp/desing_ver2/images/login.png" onmouseover="src='/tmp/desing_ver2/images/login.png';" onmouseout="src='/tmp/desing_ver2/images/login_b.png';">

    все по феншую

    jQuery, 11 Ноября 2011

    Комментарии (3)
  5. Java / Говнокод #8464

    +78

    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 synchronized void add(Object obj){
    
    		if (!sequence.isEmpty()) {
    			if (sequence.size() == maxSize) {
    				sequence.remove(0);
    				sequence.add(obj);		
    			}
    			else 
    				sequence.add(obj);		
    		} 
    		
    		if (sequence.isEmpty()) 
    			sequence.add(obj);  
    		
    			
    		notifyAll();
    	}

    Альтернативный else.

    Connector, 09 Ноября 2011

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

    +161

    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
    data::TokenPtr lexer::ReadToken::operator()(AnalyzeState analyze_state)
    {
        ReadTokenNum    handler01( nullptr  );
        ReadTokenName   handler02(&handler01);
        ReadTokenPlus   handler03(&handler02);
        ReadTokenMinus  handler04(&handler03);
        ReadTokenDiv    handler05(&handler04);
        ReadTokenMult   handler06(&handler05);
        ReadTokenAssign handler07(&handler06);
        ReadTokenSmcln  handler08(&handler07);
        ReadTokenLpar   handler09(&handler08);
        ReadTokenRpar   handler10(&handler09);
    
        ReadTokenHandler &start_handler = handler10;
    
        return
            start_handler.Read(analyze_state);
    }

    Вот такая красота получилась при использовании паттерна 'цепочка обязанностей'.

    int_index, 05 Ноября 2011

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

    +127

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if (ddlSex.SelectedValue.Contains("мужской"))
           cbPregnant.Visible = false;
    if (employer.Pregnant.StartsWith("1"))
          cbProject.Checked = true;
    if (employer.Pregnant.StartsWith("2"))
          cbPregnant.Checked = true;

    TasmX, 03 Ноября 2011

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

    +149

    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
    <?php 
    $USD = '30';
    $pecent = '10';
    ?>
    <SCRIPT language=JavaScript>
    var default_value1=0;
    
    function auto1(t){
    var silver = Math.floor(document.form.sum_out.value);
    if(silver>=0){
    var percent = (silver/100)*<?php echo $pecent ?>;
    var suma = (silver-percent)/<?php echo $USD ?>; 
    var sum = (Math.round(suma)).toFixed(2);
    
    document.form.summ.value=sum;
    default_value1 = silver;
    }else{
    alert("Поле должно содержать только цифры!");
    document.form.sum_out.value=default_value1; }
    if(t) auto2(); }
    
    function auto2(t){
    var sum=document.form.summ.value;
    if(sum>=0){
    var silver = (Math.round(sum*<?php echo $USD ?>)).toFixed(2);
    
    document.form.sum_out.value=silver;
    default_value2 = sum;
    }else{
    alert("Поле должно содержать только цифры!"); 
    document.form.summ.value=default_value2; }
    if(t) auto1(); }
    
    </SCRIPT>
    <form name=form action="test2.php" method="POST">
    
    <input onchange="auto1()" onkeyup="auto1()" onfocusout="auto1(true)" type=text name=sum_out value="">
    <input onchange="auto2()" onkeyup="auto2()" onfocusout="auto2(true)" type=text name=summ value="">
    
    	</FORM>
        
    <SCRIPT language=JavaScript>
    document.form.sum.value = ;
    auto1();
    </SCRIPT>

    в одну сторону считает, а как сдела что бы со второй пересчитывал не допру

    sumax, 02 Ноября 2011

    Комментарии (3)
  9. Objective C / Говнокод #8376

    −116

    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
    // было
    
    -(BOOL)textFieldShouldReturn:(UITextField *)textField {
        
        if (textField == firstName) {
            [lastName becomeFirstResponder];
        }
        
        else if (textField == lastName) {
            [zip becomeFirstResponder];
        } 
        
        else if (textField == emailAdr) {
            [confirmEmailAdr becomeFirstResponder];
        }    
        else if (textField == confirmEmailAdr) {
            [zip becomeFirstResponder];
        }
        else if (textField == zip) {
            [street becomeFirstResponder];
        }
        else if (textField == street) {
            [city becomeFirstResponder];
        }
        else if (textField == city) {
            [telephonNumber becomeFirstResponder];
        }
        else if (textField == telephonNumber) {
            [wachtwoord becomeFirstResponder];
        }
      
        else{
            [textField resignFirstResponder];
        }
        
        
        return YES;
    }
    
    // решил заменить на ( при условии что все текстфилды протаганы от 1 до N):
    
    -(BOOL)textFieldShouldReturn:(UITextField *)textField {
    
        int tag = textField.tag;
        
        UITextField* tf = (UITextField*)[self.scrollView viewWithTag:tag+1];
        
        if ( tf ) 
            [tf becomeFirstResponder];
        else 
            [textField resignFirstResponder];
        
        return YES;
    }

    lime, 01 Ноября 2011

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

    −102

    1. 1
    2. 2
    Сегодня мы отказались от 1С.
    Сегодня, когда день апплодировал стоя.

    А в штанах остались желтые бумажки. В назидание?

    alexoy, 31 Октября 2011

    Комментарии (3)
  11. SQL / Говнокод #8364

    −118

    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
    DROP PROCEDURE IF EXISTS postgkh.ACCOUNT_ITM $$
    CREATE PROCEDURE postgkh.ACCOUNT_ITM(IN PERIOD DATE, IN ACC_ID INT)
    BEGIN
        SELECT A.ACCOUNT_ID, A.ACCOUNT_NO
    # Смачный кусок кода
          (SELECT GROUP_CONCAT(document_no ORDER BY document_no SEPARATOR ', ') DOCUMENT_NO
                FROM
                     (SELECT d.document_no document_no
                        FROM postgkh.docar dr INNER JOIN
                             postgkh.document d ON dr.document_id = d.document_id
                        WHERE dr.account_id = ACC_ID
                              AND d.document_fromdate <= LAST_DAY(PERIOD)
                              AND (d.DOCUMENT_CLOSEDATE >= PERIOD OR d.DOCUMENT_CLOSEDATE IS NULL)
                      ) d
             ) DOCUMENT_NO
        FROM postgkh.ACCOUNT
        WHERE A.ACCOUNT_ID = ACC_ID
        GROUP BY A.ACCOUNT_ID
        LIMIT 1;
    END $$

    MySQL

    dmezentsev, 31 Октября 2011

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