1. C++ / Говнокод #2395

    +78

    1. 1
    2. 2
    3. 3
    4. 4
    int strlenw(const wchar_t *s)
    {
    	return (int)((int)(strlen(s)) % sizeof(wchar_t));
    };

    Даже и не знаю что сказать. Это было в доставшемся мне проекте. Мне кажется это говнокод.

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

    Комментарии (44)
  2. ActionScript / Говнокод #2394

    −433.5

    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
    [1:02:57] Dmitriy Artemyev: if (s == rb.getString('pricesForm.oneAdult'))
          ((((p.getChildAt(0) as HBox).getChildAt(0) as Form).getChildAt(0) as FormItem).getChildAt(0) as NumericTextInput).value = newS;
         if (s == rb.getString('pricesForm.twoAdults'))
          ((((p.getChildAt(0) as HBox).getChildAt(0) as Form).getChildAt(1) as FormItem).getChildAt(0) as NumericTextInput).value = newS;
         if (s == rb.getString('pricesForm.extraAdultMarkup'))
          ((((p.getChildAt(0) as HBox).getChildAt(0) as Form).getChildAt(2) as FormItem).getChildAt(0) as NumericTextInput).value = newS;
         
         
         if (s == rb.getString('pricesForm.children') + model.hotelsModule.hotelTotalInfo.iChildAge1)
          ((((p.getChildAt(0) as HBox).getChildAt(1) as Form).getChildAt(0) as FormItem).getChildAt(0) as NumericTextInput).value = newS;
         if (s == rb.getString('pricesForm.children') + model.hotelsModule.hotelTotalInfo.iChildAge2)
          ((((p.getChildAt(0) as HBox).getChildAt(1) as Form).getChildAt(1) as FormItem).getChildAt(0) as NumericTextInput).value = newS;
         if (s == rb.getString('pricesForm.children') + model.hotelsModule.hotelTotalInfo.iChildAge3)
          ((((p.getChildAt(0) as HBox).getChildAt(1) as Form).getChildAt(2) as FormItem).getChildAt(0) as NumericTextInput).value = newS;

    Делаю код ревью и рефакторинг в одном старом коде, вот на что нарвался и выпал в даун )

    dimas_art, 11 Января 2010

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

    +168.5

    1. 1
    2. 2
    3. 3
    while ($char_list = mysql_fetch_array($char_list_query,MYSQL_ASSOC) or die(mysql_error())) {
        echo "<option>{$char_list['name']}</option>";
    }

    POPSuL, 10 Января 2010

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

    +145.6

    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
    extend(Object, {
        extend:        extend,
        inspect:       inspect,
        toJSON:        toJSON,
        toQueryString: toQueryString,
        toHTML:        toHTML,
        keys:          keys,
        values:        values,
        clone:         clone,
        isElement:     isElement,
        isArray:       isArray,
        isHash:        isHash,
        isFunction:    isFunction,
        isString:      isString,
        isNumber:      isNumber,
        isUndefined:   isUndefined
      });

    Из Prototype JS.

    Cr@ZyBoY, 10 Января 2010

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

    −372.7

    1. 1
    ssh root@localhost

    вместо su

    jdponomarev, 10 Января 2010

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

    +153.2

    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
    function event_form_alter($form_id, &$form) {
      global $user;
    
      $node = isset($form['#node']) ? $form['#node'] : NULL;
    
      switch ($form_id) {
        // node settings form
        case 'node_type_form':
          $type = (isset($form['old_type']) && isset($form['old_type']['#value'])) ? $form['old_type']['#value'] : NULL;
          $form['workflow']['event_nodeapi'] = array(
            '#type' => 'radios',
            '#title' => t('Show in event calendar'),
            '#default_value' => variable_get('event_nodeapi_'. $type, 'never'),
            '#options' => array('all' => t('All views'), 'solo' => t('Only in views for this type'), 'never' => t('Never')),
            '#description' => t('All views: This content type will be available for display on all calendar views, including with other events.<br />Only in views for this type: This content type will only appear in calendar views specific to this type and never with other events.<br />Never: This content type will not be associated with the events calendar.')
          );
          break;
    #...
     }
    }

    vectoroc, 09 Января 2010

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

    +156.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
    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
    <?php
    session_start();
    $lgn=$_SESSION['lgn'];
    $pswd=$_SESSION['pswd'];
    //  print_r($_GET);
    include_once('spyLib.php');
    $dbConn=connectToSpy();
    mysql_query("SET NAMES cp1251");
    $option=$_REQUEST['option'];
      
    $ID=autentID($lgn, $pswd);
    //$ID='45';
    if ($ID=='8') {
    
      if ($option=='editTable'){
      include_once("bd/editTable.php");
      }elseif($option=="addRecord"){
      include_once( 'bd/addRecord.php' );
      }elseif($option=="processAdd"){
      include_once( 'bd/processAdd.php' );
      }elseif($option=="deleteRecord"){
      include_once( 'bd/deleteRecord.php' );
      }elseif($option=="editRecord"){
      include_once( 'bd/editRecord.php' );
      }elseif($option=="updateRecord"){
      include_once( 'bd/updateRecord.php' );  
      }else{
      
      print <<<HERE
    <link href="./style.css" rel="stylesheet" type="text/css">
      <!-----------главная страница------------------------------------->
    <img src="./img/fonpageleft.png" style="position: absolute; top:50px; left: 50px;" width="670" height="370">
    <div style="position: absolute; top:70px; left: 100px;">
    
    <form action="index.php" method="post">
      <input name="ok" type="image" src="img/admin.gif" class="bulleon" alt="Перейти на сайт">
    </form>
    <table border="0" cellpadding="0" cellspacing="0">
      <tr>
      <td valign="top" width="458">
      <div class="text_10">Страница находится в разработке.</div>
      <form action="admin.php">
      <input name="option" type="hidden" value="editTable">
      <input name="page" type="hidden" value="admin">
      <input name="back" type="hidden" value="false">
      <table cellspacing="1" cellpadding="3" width='100%'>
      <tr  class="title">
      <td>
      </td>
      <td class='title2'>
      Выберите таблицу для редактирования
      </td>
      <td>
      </td>
      </tr>
      <tr class='table_top'>
      <td width='30' nowrap="nowrap">
      </td>
      <td  align="left">
      <select name="tableName" size=5>
      <option value="kompleks">комплексы</option>
      <option value="glav">главная страница</option>
      <option value="bulletin">новости</option>
      <option value="forleader">для руководителей</option>
      <option value="lunchoffice">обеды в офис</option>
      <option value="partner">партнеры</option>
      <option value="contact">контакты</option>
      <option value="review">отзывы</option>
      </select>
      </td>
      <td width='30' nowrap="nowrap">
      </td>
      </tr>
      <tr>
      <td colspan='3' align='left'>
      <input name="option2" type="image" value="1" src="./img/ok4.gif" class="bulleon">
      </td>
      </tr>
      </table>
      </form>
      </td>
        </tr>
      </table>
    </div>
    <!---!--------главная страница------------------------------------->
    HERE;
      }//if
    
    }else{
      print "<p class=\"mes_small_error\">Попробуйте ввести пороль и логин еще раз</p>";
    }
    ?>

    что тут комментировать - аффтар даже русский с трудом осилил: "Попробуйте ввести пороль"(sic!)

    xXx_totalwar, 09 Января 2010

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

    +151.7

    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
    /**
    	 * bool _validate_mail(string mail)
    	 * Validate an email address
    	 * @access private
    	 * @param string mail The email address string
    	 * @return bool
    	 */
    	function _validate_mail($mail)
    	{
    		if (ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'.'@'.'[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'.'[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$',$mail)){
    			return true;
    		}
    		return $this->_debug(4, $mail);
    	}

    no comments...

    InTech, 09 Января 2010

    Комментарии (12)
  9. C++ / Говнокод #2387

    +922.2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    __declspec(noreturn) int FastAdd(const int a, const int b)
    {
      __asm mov eax, a;
      __asm mov ebx, b;
      __asm add eax, ebx;
    };

    Встречаеться множество подобных функций в одном С++ проекте, который в данный момент разгребаю. Хочеться что-нибудь сказать автору. Например: "на XYZ"?

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

    Комментарии (147)
  10. ActionScript / Говнокод #2386

    −190.8

    1. 1
    2. 2
    3. 3
    4. 4
    if (flash.net.getClassByAlias("foo.bar.VO") == null){
              flash.net.registerClassAlias("foo.bar.VO", foo.bar.VO);}
          } catch (e:Error) {
              flash.net.registerClassAlias("foo.bar.VO", foo.bar.VO); }

    Так во флексовом фреймворке регистрируются алиасы для RPC классов... Нелогичность ситуации не сразу очевидна, поэтому опишу:
    При загрузке модулей может возникнуть ситуация, когда алиас уже зарегистрирован для другого класса, поэтому нужно проверить, а не был ли алиас зарегистрирован раньше. Иначе, его нужно зарегистрировать. Исторически, этой проверки сначала не было, данный код - это фикс вышеописаной проблемы. Пытаясь разобраться, что же все-таки случилось - скорее всего "писатель" не подозревал, что getClassByAlias() не может вернуть null - а выяснил он это, когда код вывалился с ошибкой, вот он не долго думая завернул это все в try-catch...
    Из мелких деталей: в рамках AS3 сравнение сложных типов с null - бессмысленная, и более того вредная операция, т.как выражение в условии всегда кастуется к Boolean, и компилятор не умеет делать оптимизации для таких случаев.

    wvxvw, 08 Января 2010

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