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

    +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
    57. 57
    58. 58
    59. 59
    std::string str(bool val) {
      std::stringstream ss;
      ss << val;
      return ss.str();
    }
    
    std::string str(short val) {
      std::stringstream ss;
      ss << val;
      return ss.str();
    }
    
    std::string str(unsigned short val) {
      std::stringstream ss;
      ss << val;
      return ss.str();
    }
    
    std::string str(int val) {
      std::stringstream ss;
      ss << val;
      return ss.str();
    }
    
    std::string str(unsigned int val) {
      std::stringstream ss;
      ss << val;
      return ss.str();
    }
    
    std::string str(long val) {
      std::stringstream ss;
      ss << val;
      return ss.str();
    }
    
    std::string str(unsigned long val) {
      std::stringstream ss;
      ss << val;
      return ss.str();
    }
    
    std::string str(float val) {
      std::stringstream ss;
      ss << val;
      return ss.str();
    }
    
    std::string str(double val) {
      std::stringstream ss;
      ss << val;
      return ss.str();
    }
    
    std::string str(long double val) {
      std::stringstream ss;
      ss << val;
      return ss.str();
    }

    Вот что значит невыспанная голова!
    Чуть позже переделал в это

    template<class T>
    std::string str(T val) {
    std::stringstream ss;
    ss << val;
    return ss.str();
    }

    rudvil, 14 Июля 2010

    Комментарии (14)
  2. JavaScript / Говнокод #3703

    +172

    1. 1
    e.keyCode == 33 ? "!": e.keyCode == 34 ? "\"": e.keyCode == 35 ? "#": e.keyCode == 36 ? "$": e.keyCode == 37 ? "%": e.keyCode == 38 ? "&": e.keyCode == 39 ? "'": e.keyCode == 40 ? "(": e.keyCode == 41 ? ")": e.keyCode == 42 ? "*": e.keyCode == 43 ? "+": e.keyCode == 44 ? ",": e.keyCode == 45 ? "-": e.keyCode == 46 ? ".": e.keyCode == 47 ? "/": e.keyCode == 48 ? "0": e.keyCode == 49 ? "1": e.keyCode == 50 ? "2": e.keyCode == 51 ? "3": e.keyCode == 52 ? "4": e.keyCode == 53 ? "5": e.keyCode == 54 ? "6": e.keyCode == 55 ? "7": e.keyCode == 56 ? "8": e.keyCode == 57 ? "9": e.keyCode == 58 ? ":": e.keyCode == 59 ? ";": e.keyCode == 60 ? "<": e.keyCode == 61 ? "=": e.keyCode == 62 ? ">": e.keyCode == 63 ? "?": e.keyCode == 64 ? "@": e.keyCode == 65 ? "A": e.keyCode == 66 ? "B": e.keyCode == 67 ? "C": e.keyCode == 68 ? "D": e.keyCode == 69 ? "E": e.keyCode == 70 ? "F": e.keyCode == 71 ? "G": e.keyCode == 72 ? "H": e.keyCode == 73 ? "I": e.keyCode == 74 ? "J": e.keyCode == 75 ? "K": e.keyCode == 76 ? "L": e.keyCode == 77 ? "M": e.keyCode == 78 ? "N": e.keyCode == 79 ? "O": e.keyCode == 80 ? "P": e.keyCode == 81 ? "Q": e.keyCode == 82 ? "R": e.keyCode == 83 ? "S": e.keyCode == 84 ? "T": e.keyCode == 85 ? "U": e.keyCode == 86 ? "V": e.keyCode == 87 ? "W": e.keyCode == 88 ? "X": e.keyCode == 89 ? "Y": e.keyCode == 90 ? "Z": e.keyCode == 91 ? "[": e.keyCode == 92 ? "\\": e.keyCode == 93 ? "]": e.keyCode == 94 ? "^": e.keyCode == 95 ? "_": e.keyCode == 96 ? "`": e.keyCode == 97 ? "a": e.keyCode == 98 ? "b": e.keyCode == 99 ? "c": e.keyCode == 100 ? "d": e.keyCode == 101 ? "e": e.keyCode == 102 ? "f": e.keyCode == 103 ? "g": e.keyCode == 104 ? "h": e.keyCode == 105 ? "i": e.keyCode == 106 ? "j": e.keyCode == 107 ? "k": e.keyCode == 108 ? "l": e.keyCode == 109 ? "m": e.keyCode == 110 ? "n": e.keyCode == 111 ? "o": e.keyCode == 112 ? "p": e.keyCode == 113 ? "q": e.keyCode == 114 ? "r": e.keyCode == 115 ? "s": e.keyCode == 116 ? "t": e.keyCode == 117 ? "u": e.keyCode == 118 ? "v": e.keyCode == 119 ? "w": e.keyCode == 120 ? "x": e.keyCode == 121 ? "y": e.keyCode == 122 ? "z": e.keyCode == 123 ? "{": e.keyCode == 124 ? "|": e.keyCode == 125 ? "}": e.keyCode == 126 ? "~": e.keyCode == 1040 ? "А": e.keyCode == 1041 ? "Б": e.keyCode == 1042 ? "В": e.keyCode == 1043 ? "Г": e.keyCode == 1044 ? "Д": e.keyCode == 1045 ? "Е": e.keyCode == 1046 ? "Ж": e.keyCode == 1047 ? "З": e.keyCode == 1048 ? "И": e.keyCode == 1049 ? "Й": e.keyCode == 1050 ? "К": e.keyCode == 1051 ? "Л": e.keyCode == 1052 ? "М": e.keyCode == 1053 ? "Н": e.keyCode == 1054 ? "О": e.keyCode == 1055 ? "П": e.keyCode == 1056 ? "Р": e.keyCode == 1057 ? "С": e.keyCode == 1058 ? "Т": e.keyCode == 1059 ? "У": e.keyCode == 1060 ? "Ф": e.keyCode == 1061 ? "Х": e.keyCode == 1062 ? "Ц": e.keyCode == 1063 ? "Ч": e.keyCode == 1064 ? "Ш": e.keyCode == 1065 ? "Щ": e.keyCode == 1066 ? "Ъ": e.keyCode == 1067 ? "Ы": e.keyCode == 1068 ? "Ь": e.keyCode == 1069 ? "Э": e.keyCode == 1070 ? "Ю": e.keyCode == 1071 ? "Я": e.keyCode == 1072 ? "а": e.keyCode == 1073 ? "б": e.keyCode == 1074 ? "в": e.keyCode == 1075 ? "г": e.keyCode == 1076 ? "д": e.keyCode == 1077 ? "е": e.keyCode == 1078 ? "ж": e.keyCode == 1079 ? "з": e.keyCode == 1080 ? "и": e.keyCode == 1081 ? "й": e.keyCode == 1082 ? "к": e.keyCode == 1083 ? "л": e.keyCode == 1084 ? "м": e.keyCode == 1085 ? "н": e.keyCode == 1086 ? "о": e.keyCode == 1087 ? "п": e.keyCode == 1088 ? "р": e.keyCode == 1089 ? "с": e.keyCode == 1090 ? "т": e.keyCode == 1091 ? "у": e.keyCode == 1092 ? "ф": e.keyCode == 1093 ? "х": e.keyCode == 1094 ? "ц": e.keyCode == 1095 ? "ч": e.keyCode == 1096 ? "ш": e.keyCode == 1097 ? "щ": e.keyCode == 1098 ? "ъ": e.keyCode == 1099 ? "ы": e.keyCode == 1100 ? "ь": e.keyCode == 1101 ? "э": e.keyCode == 1102 ? "ю": e.keyCode == 1103 ? "я": ""

    Нанотехнологии, хуле.

    eval, 14 Июля 2010

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

    +122

    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
    <?php
    $login=!empty($_POST['upload_login'])?$_POST['upload_login']:null;
    $date_load=date('YmdHis');
    $info_load=getimagesize($_FILES['upload_wrapper']['tmp_name']);
    if(isset($_FILES['upload_wrapper'])&&$_FILES['upload_wrapper']['error']===0){
    if($_FILES["upload_wrapper"]["type"]=="image/jpeg"or$_FILES["upload_wrapper"]["type"]=="image/jpg"or$_FILES["upload_wrapper"]["type"]=="image/gif"or$_FILES["upload_wrapper"]["type"]=="image/png"){
    if($_FILES['upload_wrapper']['size']<"100000"){
    if($info_load[0]<151&&$info_load[1]<151&&$info_load[0]>149&&$info_load[1]>149){
    if(!file_exists('./loads/'.$login.'')){mkdir("./loads/$login",0700);}
    if(!file_exists('./loads/'.$login.'/wrapper')){mkdir("./loads/$login/wrapper",0700);}
    mkdir("./loads/$login/wrapper/$date_load",0700);
    if(move_uploaded_file($_FILES['upload_wrapper']['tmp_name'],'./loads/'.$login.'/wrapper/'.$date_load.'/'.$_FILES['upload_wrapper']['name']));
    }}}}
    ?>
    <body onload="parent.document.getElementById('upload_wrapper_ok').innerHTML=document.body.innerHTML"><?php if(is_dir('./loads/'.$login.'/wrapper/'.$date_load.'')){echo('Готово. Обложка загружена<style type="text/css">.upload_wrapper_form{display:none} .error_lesson, .error_wrapper{display:none!important}</style>');}else{echo'<style type="text/css">.error_lesson, .error_wrapper{display:block}</style>';}?></body>
    <iframe id="iframe_load_wrapper" class="none" onload="parent.document.getElementById('upload_wrapper_final').innerHTML=document.getElementById('iframe_load_wrapper').innerHTML"><?php $login=!empty($_POST['upload_login'])?$_POST['upload_login']:null; if(file_exists('./loads/'.$login.'/wrapper/'.$date_load.'')){echo('http://youex.ru/modules/lessons/loads/'.$login.'/wrapper/'.$date_load.'/'.$_FILES['upload_wrapper']['name'].''.'');}?></iframe>

    без коментриев

    Vasiliy, 14 Июля 2010

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

    +179

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $sql=mysql_query("SELECT id FROM table");
    $id=mysql_num_rows($sql)+1;
    
    $qry=mysql_query("INSERT INTO table(id, .....)  VALUES ('$id','.....')")
        or die (mysql_error());

    Осуществление auto_increment-а!
    Угадайте, что будет если кто то удалить одну строку из таблицу?

    gotha, 14 Июля 2010

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

    +157

    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
    <?
    @$ok=$HTTP_POST_VARS["ok"];
    @$user=$HTTP_POST_VARS["user"];
    @$pwd=$HTTP_POST_VARS["pwd];
    if(!isset($ok))
    echo "<form action=.$2.php. method=POST>"
    ."Name<input type=text name user><br>"
    ."Password<input type=password name=pwd><br>"
    ."<input type=submit name=ok value=Войти>"
    ."</form>";
    else
    {
    if(($user="Demo")&&($pwd=="Demo"))
    echo "Wellcome";
    else
    echo "Access Blocked";
    }
    ?>

    Говорят, что это не говнокод.

    kal1sha, 14 Июля 2010

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

    +121

    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
    // то проверяем его куки
        // вдруг там есть логин и пароль к нашему скрипту
    
        if (isset($_COOKIE['login']) && isset($_COOKIE['password'])) {
            // если же такие имеются
            // то пробуем авторизовать пользователя по этим логину и паролю
            $login = mysql_real_escape_string($_COOKIE['login']);
            $password = mysql_real_escape_string($_COOKIE['password']);
    
            // и по аналогии с авторизацией через форму:
    
            // делаем запрос к БД
            // и ищем юзера с таким логином и паролем
    
            $query = "SELECT `id`
                    FROM `users`
                    WHERE `login`='{$login}' AND `password`='{$password}'
                    LIMIT 1";
            $sql = mysql_query($query) or die(mysql_error());
    
            // если такой пользователь нашелся
            if (mysql_num_rows($sql) == 1) {
                // то мы ставим об этом метку в сессии (допустим мы будем ставить ID пользователя)
    
                $row = mysql_fetch_assoc($sql);
                $_SESSION['user_id'] = $row['id'];

    авторитизация из кук ну сколько не говори не храни в куках пароли и логины нет найдется один говонокодер которому все не почем и учит детей плохому

    Vasiliy, 14 Июля 2010

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    m_lActiveTab = GetCurSel();
    for (int i = 0; i < GetItemCount(); i++)
    	m_cItemSelected[m_lActiveTab] = false;
    m_cItemSelected[m_lActiveTab] = true;

    Вот так говнокодят в крупных проектах

    Snake2101, 14 Июля 2010

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

    +167

    1. 1
    2. 2
    3. 3
    4. 4
    ...
    chmod($file, 0777);
    unlink($file);
    ...

    На просторах интернета можно найти функцию для рекурсивного удаления папки со всем содержимым вот с таким фрагментом.

    Uchkuma, 13 Июля 2010

    Комментарии (15)
  9. Куча / Говнокод #3696

    +129

    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
    Author: decker <decker@personal-army>  2010-06-19 05:39:42
    Committer: decker <decker@personal-army>  2010-06-19 05:39:42
    
        fix potential race in reservation id generation
    
    @@ -97,7 +98,7 @@ public class VmInstances extends AbstractNamedRegistry<VmInstance> {
         do {
           MessageDigest digest = Hashes.Digest.MD5.get();
           digest.reset();
    -      digest.update( Long.toString( rsvId + launchIndex + System.currentTimeMillis() ).getBytes() );
    +      digest.update( Long.toString( rsvId + launchIndex + System.nanoTime( ) ).getBytes() );
     
           Adler32 hash = new Adler32();
           hash.reset();

    Вот так суровые калифорнийцы сурово чинят race...

    raorn, 13 Июля 2010

    Комментарии (8)
  10. Си / Говнокод #3695

    +131

    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
    #include <stdio.h>
    
    void factorization(int num, int show) {
        int num1 = num;
        int n = 2;
        while ( n*n <= num1 ) {
            if ( num%n == 0 ) {
                num = num / n;
                if ( show )
                    printf( "%d\n", n );
            } else {
                n ++;
            }
        }
    }
    
    int main() {
        int i = 0;
        while ( i < 1000 ) {
            factorization(999999, 0);
            i ++;
        }
        return 0;
    }

    Опубликовано в одной из ссылок с http://habrahabr.ru/blogs/ruby/48952/ (если надо, точную ссылку найду позже).
    Код раскладывает число на простые множители тупым перебором делителей. Мало того, что этот код медленный, так он иногда последний множитель пропускает. Одновременно и ошибка, и скорость исправляются так:
    - while ( n*n <= num1 ) {
    + while ( n <= num ) {
    Неожиданно, правда?

    inkanus-gray, 13 Июля 2010

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