1. Куча / Говнокод #3152

    +137

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    function random return float is
           variable X : float;
      begin
           return X;
      end function random ;

    Вот такую реализацию функции random посоветовали на одном VHDL форуме. :D

    Говногость, 03 Мая 2010

    Комментарии (18)
  2. C++ / Говнокод #3151

    +103

    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
    #include <iostream>
    #include <string>
    #include <boost/foreach.hpp>
    
    int main(int argc, char* argv[]) {
      std::string str = "Boost FOREACH!";
      char ch;
      if (boost::foreach_detail_::auto_any_t _foreach_col11 = boost::foreach_detail_::contain( ( str ) , (true ? 0 : boost::foreach_detail_::or_( boost::foreach_detail_::and_( boost::foreach_detail_::not_(boost::foreach_detail_::is_array_( str )) , (true ? 0 : boost::foreach_detail_::is_rvalue_( (true ? boost::foreach_detail_::make_probe( str ) : ( str )), 0))) , boost::foreach_detail_::and_( boost::foreach_detail_::not_( boost_foreach_is_noncopyable( boost::foreach_detail_::to_ptr( str ) , boost_foreach_argument_dependent_lookup_hack_value) ) , boost_foreach_is_lightweight_proxy( boost::foreach_detail_::to_ptr( str ) , boost_foreach_argument_dependent_lookup_hack_value)) )) ) ) {} else if (boost::foreach_detail_::auto_any_t _foreach_cur11 = boost::foreach_detail_::begin( _foreach_col11 , (true ? 0 : boost::foreach_detail_::encode_type( str , boost::foreach_detail_::is_const_( str ))) , (true ? 0 : boost::foreach_detail_::or_( boost::foreach_detail_::and_( boost::foreach_detail_::not_(boost::foreach_detail_::is_array_( str )) , (true ? 0 : boost::foreach_detail_::is_rvalue_( (true ? boost::foreach_detail_::make_probe( str ) : ( str )), 0))) , boost::foreach_detail_::and_( boost::foreach_detail_::not_( boost_foreach_is_noncopyable( boost::foreach_detail_::to_ptr( str ) , boost_foreach_argument_dependent_lookup_hack_value) ) , boost_foreach_is_lightweight_proxy( boost::foreach_detail_::to_ptr( str ) , boost_foreach_argument_dependent_lookup_hack_value)) )) ) ) {} else if (boost::foreach_detail_::auto_any_t _foreach_end11 = boost::foreach_detail_::end( _foreach_col11 , (true ? 0 : boost::foreach_detail_::encode_type( str , boost::foreach_detail_::is_const_( str ))) , (true ? 0 : boost::foreach_detail_::or_( boost::foreach_detail_::and_( boost::foreach_detail_::not_(boost::foreach_detail_::is_array_( str )) , (true ? 0 : boost::foreach_detail_::is_rvalue_( (true ? boost::foreach_detail_::make_probe( str ) : ( str )), 0))) , boost::foreach_detail_::and_( boost::foreach_detail_::not_( boost_foreach_is_noncopyable( boost::foreach_detail_::to_ptr( str ) , boost_foreach_argument_dependent_lookup_hack_value) ) , boost_foreach_is_lightweight_proxy( boost::foreach_detail_::to_ptr( str ) , boost_foreach_argument_dependent_lookup_hack_value)) )) ) ) {} else for (bool _foreach_continue11 = true; _foreach_continue11 && ! boost::foreach_detail_::done( _foreach_cur11 , _foreach_end11 , (true ? 0 : boost::foreach_detail_::encode_type( str , boost::foreach_detail_::is_const_( str ))) ) ; _foreach_continue11 ? boost::foreach_detail_::next( _foreach_cur11 , (true ? 0 : boost::foreach_detail_::encode_type( str , boost::foreach_detail_::is_const_( str ))) ) : (void)0) if (boost::foreach_detail_::set_false( _foreach_continue11 )) {} else for ( ch = boost::foreach_detail_::deref( _foreach_cur11 , (true ? 0 : boost::foreach_detail_::encode_type( str , boost::foreach_detail_::is_const_( str ))) ) ; ! _foreach_continue11 ; _foreach_continue11 = true) {
        std::cout << ch;
      }
      std::cout << std::endl;
      return 0;
    }

    Конечно, это не совсем говнокод, но... я офигел когда посмотрел во что превращается простой BOOST_FOREACH

    rudvil, 03 Мая 2010

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

    +167

    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
    function my_isinteger($int)
    {
       $new_int = '';
       for($i=0;$i<strlen($int);$i++)
       {
          if( $int[$i] == "0" )
          {
             $new_int .= "0";
          }
          if( $int[$i] == "1" )
          {
             $new_int .= "1";
          }
          if( $int[$i] == "2" )
          {
             $new_int .= "2";
          }
          if( $int[$i] == "3" )
          {
             $new_int .= "3";
          }
          if( $int[$i] == "4" )
          {
             $new_int .= "4";
          }
          if( $int[$i] == "5" )
          {
             $new_int .= "5";
          }
          if( $int[$i] == "6" )
          {
             $new_int .= "6";
          }
          if( $int[$i] == "7" )
          {
             $new_int .= "7";
          }
          if( $int[$i] == "8" )
          {
             $new_int .= "8";
          }
          if( $int[$i] == "9" )
          {
             $new_int .= "9";
          }
       }
       if ( $int == $new_int )
       {
          return(True);
       }
       else
       {
          return(False);
       }
    }

    Набрел в исходниках старого проекта который до сих пор работает) но начинал я его писал лет 5 назад), знаний тогда было маловато

    W1R0X, 02 Мая 2010

    Комментарии (44)
  4. Си / Говнокод #3149

    +124

    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
    void f()
    {
    char d[14] = "Hello, error!";
    }
    
    void h()
    {
    char d[14];
    std::cout<<d;
    }
    
    int main()
    {
    f();
    h();
    }

    Кто отгадает, что делает этот код(а еще лучше почему он вобще работает) тому ни чего не будет.

    hromjo, 02 Мая 2010

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

    +165

    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
    function addElement(name, params) {
    var elem = document.createElement(name);
    if (params.href) elem.href = params.href;
    if (params.innerHTML) elem.innerHTML = params.innerHTML;
    if (params.innerText) elem.innerText = params.innerText;
    if (params.className) elem.className = params.className;
    if (params.id) elem.id = params.id;
    if (params.name) elem.name = params.name;
    if (params.type) elem.type = params.type;
    if (params.onclick) elem.onclick = params.onclick;
    if (params.onkeypress) elem.onkeypress = params.onkeypress;
    if (params.onkeydown) elem.onkeydown = params.onkeydown;
    if (params.onkeyup) elem.onkeyup = params.onkeyup;
    if (params.onmousedown) elem.onmousedown = params.onmousedown;
    if (params.onmouseup) elem.onmouseup = params.onmouseup;
    if (params.onmousewheel) elem.onmousewheel = params.onmousewheel;
    if (params.onload) elem.onload = params.onload;
    if (params.onkeydown) elem.onkeydown = params.onkeydown;
    if (params.height) elem.height = params.height;
    if (params.width) elem.width = params.width;
    if (params.align) elem.align = params.align;
    if (params.valign) elem.valign = params.valign;
    if (params.celspacing) elem.cellspacing = params.cellspacing;
    if (params.cellpadding) elem.cellpadding = params.cellpadding;
    if (params.src) elem.src = params.src;
    if (params.rel) elem.rel = params.rel;
    if (params.border) elem.border = params.border;
    if (params.onkeyup) elem.onkeyup = params.onkeyup;
    if (params.value) elem.value = params.value;
    if (params.action) elem.action = params.action;
    if (params.title) elem.title = params.title;
    vif (params.alt) elem.alt = params.alt;
    document.body.appendChild(elem);
    }

    А что такое for…in?
    P.S. там ещё был перебор всех свойств elem.style, но, увы, сюда не влезло.
    P.P.S. по началу 32-й строки можно определить, как был написан код ;)

    Infamous, 02 Мая 2010

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

    +171

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if (isset($_POST['nick']))       {$nick = $_POST['nick'];}
    if (isset($_POST['pass']))       {$pass = $_POST['pass'];}
    
    
    if (isset($_GET['nick'])) {$nick = $_GET['nick'];}
    if (isset($_GET['pass'])) {$pass = $_GET['pass'];}

    один из видеоуроков Е.Попова=)

    Ice, 02 Мая 2010

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <?php
    
    function hashPW($value,$type = "sha1"){
    		return $type($value);
    }
    
    ?>

    Решил что удобнее в проекте будет использовать хэш настраиваемый в админке

    DanxilLs, 02 Мая 2010

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

    +144

    1. 1
    2. 2
    3. 3
    function search() {
    		return true;
    	}

    Сам только что написал, своими руками.
    Нет, это не заглушка, изменятся функция уже не будет.
    Нет, класс с этой функцией не подразумевается как родитель для других классов в которых уже эта функция развернулась бы.

    Безымянный, 01 Мая 2010

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

    −150

    1. 1
    2. 2
    3. 3
    4. 4
    SELECT s.id, ( SELECT russianName FROM table2 WHERE countryId=s.region1 ) AS name1,
    ( SELECT russianName FROM table2 WHERE countryId=s.region2 ) AS name2,
    ( SELECT russianName FROM table2 WHERE countryId=s.region3 ) AS name3
    FROM table1 s LEFT JOIN table2 c WHERE s.countryId = xxx

    так мы пытаемся джойнить

    fih, 01 Мая 2010

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

    +102

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    // тут обычный паскалевский код...
    if x > y then asm // если икс больше игрека
      mov eax, x  // то меняем их значения местами
      mov edx, y
      mov x, edx
      mov y, eax
    end;

    Как поменять значения двух целочисленных переменных, не заводя третью? Года 3 назад я делал примерно так.

    TarasB, 01 Мая 2010

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