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

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

    +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
    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
    private fun showTicketWithSerialNumber(numberField: EditText, dateField: EditText) {
    
           RxTextView.textChangeEvents(numberField).subscribe {
               if (it.text().isNotEmpty()) {
                   RxTextView.textChangeEvents(dateField).subscribe {
                       if (it.text().isNotEmpty()){
                           vCardSearch.vis { true }
                           vButtonAddFlight.alpha = 1f
                       }
                   }
               }
           }
    
        }
    
     private fun showTicketWithoutSerialNumber(airlineField: EditText, departureField: EditText, arrivalField: EditText, dateField: EditText) {
    
            RxTextView.textChangeEvents(airlineField).subscribe {
                if (it.text().isNotEmpty()) {
                    RxTextView.textChangeEvents(departureField).subscribe {
                        if (it.text().isNotEmpty()){
                            RxTextView.textChangeEvents(arrivalField).subscribe {
                                if (it.text().isNotEmpty()) {
                                    RxTextView.textChangeEvents(dateField).subscribe {
                                        if (it.text().isNotEmpty()){
                                            vCardSearch.vis { true }
                                            vButtonAddFlight.alpha = 1f
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
    
        }

    Открыл. Увидел. Охуел. RxJava(в данном случае RxKotlin) в действии блеать......

    scrobot, 19 Апреля 2018

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

    +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
    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
    #include "stdafx.h"
    #include <fstream>
    #include <iostream>
    using namespace std;
    int isMax(char mask[], int num, char in[]);        //Функция проверки символа
    int main(int argc, char* argv[])
    {
        if (argc == 1) {
            cout << "Use PasswordGenerator [Mask] [quantity of passwwords] [Path to file]\n";        //Проверка входных параметров
            return 1;
        }
        ofstream out;            //Выходной файл
        out.open(argv[3]);        //Открываем файл с именем которое ввел пользователь
        int len = 0;                    //Длина пароля
        char mask[1024] = "hll";       //Маска пароля
        char buff[1024] = { 0 };        //Буфер под пароль
        double quant = 0;                //Количество паролей в выходном файле
        strcpy_s(mask, argv[1]);        //копируем маску введённую пользователем
        len = strlen(mask);                //Узнаем длину
        for (int ii = 0; ii < len; ii++) {
            if ((mask[ii]= 'l') && (mask[ii]= 'h')&& (mask[ii]= 'n')) {           //Проверка маски на корректность
                cout << "Mask can be l h n\n";                                        //Маска может содержать только: l маленькие латинские буквы; h большие латинские буквы; n цифры
                    return 2;
            }
        }
        quant = atoi(argv[2]);                      //Запоминаем количество комбинаций
        if (quant == 0) {                           //Если пользователь ввел "0"
            quant = 1;                                //То считаем все возможные комбинации
            for (int ii = 0; ii < len; ii++) {         
                switch (mask[ii])
                {
                case 'l': quant *= 26; break;       //26 - количество возможных букв
                case 'h': quant *= 26; break;
                case 'n': quant *= 10; break;       //10 - количество возможных цифр
                default:
                    break;
                }
            }
        }
        int ii = 0;        //Нужная переменная
        for (ii = 0; ii < len; ii++) {               //Тут создается стартовая комбинация
    
            switch (mask[ii])                        //Например для nnllh будет 00aaA
            {
            case 'l': buff[ii] = 'a'; break;
            case 'h': buff[ii] = 'A'; break;
            case 'n': buff[ii] = '0'; break;
                default:
                    break;
            }
        }
        ii++;
        buff[ii] = '\0';                            //Добавляем маркер конца строки
        double flagc = quant / 10;                  //Константа для поиска процента завершения
        double flag = flagc;                        //Переменная процента завершения
        int per = 1;                                //Множитель процента
        for ( ii = 0; ii < quant; ii++) {                                   //Основной цикл
            out << buff << endl;                                            //Сохраняем пароль в файл
            if (ii >= flag) {                        //Если программа завершила 10%
                cout << per * 10 << "%\n";           //Выводим проценты
                per++;
                flag += flagc;
            }
            for (int ii = len - 1; ii >= 0; ii--) {                        //начинаем посимвольный перебор с конца строки
                if (isMax(mask, i, buff) == 1) {                           //Если встречаем последний возможный символ в данной позиции, то меняем его на стартовый
                    switch (mask[ii])
                   {
                    case 'l': if (buff[ii] == 'z')buff[ii] = 'a'; break;
                    case 'h': if (buff[ii] == 'Z')buff[ii] = 'A'; break;
                    case 'n': if (buff[ii] == '9')buff[ii] = '0'; break;
                  default:
                        break;
                    }
                    continue;    //Переход в следующую итерацию цикла
                }
                buff[ii] +=1;     //Сама инкрементация пароля
                break;            //Конец внутреннего цикла
            }
    }
        return 0;
    }
    int isMax(char mask[], int num, char in[]){
        switch (mask[num])
        {
    case 'l': if (in[num] == 'z')return 1; else return 0;            //Если символ последний, то возвращаем "1", в противном случае "0"
        case 'h': if (in[num] == 'Z')return 1; else return 0;
        case 'n': if (in[num] == '9')return 1; else return 0;
        default:
            break;
        }
    }

    Простой генератор паролей на C++
    https://codeby.net/forum/threads/prostoj-generator-parolej-na-c.61639/

    lolka, 11 Апреля 2018

    Комментарии (6)
  4. Lua / Говнокод #24087

    +2

    1. 1
    return{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}

    u3yMpyDHblu_xyu, 07 Апреля 2018

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    $this->db->query("UPDATE " . DB_PREFIX . "manufacturer SET name = '" . $this->db->escape((string)$data['name']) . "', sort_order = '" . (int)$data['sort_order'] . "' WHERE manufacturer_id = '" . (int)$manufacturer_id . "'");
    		if (isset($data['image'])) {
    			$this->db->query("UPDATE " . DB_PREFIX . "manufacturer SET image = '" . $this->db->escape((string)$data['image']) . "' WHERE manufacturer_id = '" . (int)$manufacturer_id . "'");
    		}

    Opencart https://github.com/opencart/opencart/blob/master/upload/admin/model/catalog/manufacturer.php#L35-L39

    MrWhite, 05 Апреля 2018

    Комментарии (1)
  6. Lua / Говнокод #24068

    +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
    21. 21
    22. 22
    23. 23
    24. 24
    return{
    	[1] = 100500,
    	[2] = 10,
    	x = {
    	[1] = "ss"
    ,
    	[2] = {
    	[1] = {
    	[1] = {
    	[1] = {
    	[1] = {
    }
    ,
    }
    ,
    }
    ,
    }
    ,
    }
    ,
    }
    ,
    }

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

    u3yMpyDHblu_xyu, 04 Апреля 2018

    Комментарии (12)
  7. Java / Говнокод #24037

    +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
    public class TradingAccounts {
        private static HashMap<String, TradingAccounts> hashMap = new HashMap<String, TradingAccounts>();
        ....
        public static void clear() throws Exception {
            hashMap.clear();
            TradingAccounts[] all = getAll();
            for (TradingAccounts acc : all) {
                hashMap.put(acc.getAccount().trim(), acc);
            }
        }
        ....
    }

    Production code.
    При рефакторинге LEGACY приложения утерян вызов
    TradingAccounts.clear()
    По факту это привело к ошибке, т.к. этот справочник всегда оставался пустым.
    Кто бы мог догадаться, что метод clear загружает данные из БД...

    anurin, 30 Марта 2018

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

    +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
    // We have to put a separate function with 'if constexpr' here as Visual Studio
    // produces a false positive warning in a case of RegDstUInt == uint32
    // (shifting uint32 left by 32 is an undefined behavior)
    // See: https://developercommunity.visualstudio.com/content/problem/225040/c4293-false-positive-on-unreacheable-code.html
    static RegDstUInt get_hi_part( RegDstUInt value)
    {
        // Clang-Tidy generates a false positive 'misc-suspicious-semicolon' warning
        // on `if constexpr ()` with template
        // LLVM bug 35824: https://bugs.llvm.org/show_bug.cgi?id=35824
        if constexpr( (sizeof(RegDstUInt) > 4)
            return value >> 32; // NOLINT
    
        // GCC bug 81676 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81676
        // Wrong warning with unused-but-set-parameter within 'if constexpr'
        (void)(value); 
        return 0;
    }

    В попытке починить сборку в Visual Studio поломали GCC и Clang-Tidy.

    pavelmips, 29 Марта 2018

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

    +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
    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
    //Шапка таблицы
    
    cout << setw(10) <<char(218) <<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
    
    <<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
    
    <<char(194)
    
    <<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
    
    <<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
    
    <<char(194)
    
    <<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
    
    <<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
    
    <<char(191) <<endl;
    
    cout <<setw(10) <<char(179) <<setw(10) <<"X" <<setw(10) <<char(179) <<setw(10) <<"F" <<setw(10)
    
    <<char(179) <<setw(10) <<"G" <<setw(10) <<char(179) <<endl;
    
    for (i = 0; i <= N; i++) {
    
    x = A + i*h;
    
    F = (x-1)*(x-1)*(x-1);
    
    G = ((x+5)*(x+5)*(x+5))/(1+(sin(x)*sin(x)));
    
    //Вывод в таблицу
    
    cout <<setw(10) << char(195)
    
    <<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
    
    <<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
    
    <<char(197)
    
    <<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
    
    <<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
    
    <<char(197)
    
    <<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
    
    <<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
    
    <<char(180)<<endl;
    
    cout << setw(10) << char(179) << setw(10)<< x << setw(10) << char(179) << setw(10)<< setprecision(5) << F << setw(10) << char(179) << setw(10) << setprecision(6) << G << setw(10) << char(179) << endl;
    
    } //for (i = 0; i <= N; i++)
    
    //Конец таблицы
    
    cout << setw(10) << char(192)
    
    <<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
    
    <<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
    
    <<char(193)
    
    <<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
    
    <<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
    
    <<char(193)
    
    <<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
    
    <<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
    
    <<char(217)<<endl;

    eto pizdez prosto, ya lettau blyad

    ETO_LABbl_DETKA, 26 Марта 2018

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

    +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
    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
    #include "stdafx.h"
    #include<iostream>
    #include<fstream>
    #include<string>
    #include<map>
    #include<iomanip>
    using namespace std;
    int main()
    {
    	string word;
    	setlocale(LC_ALL, "Russian");
    	char s[80];
    	fstream inOut;
    	multimap<string, int>my;
    	multimap<string, int>::iterator it;
    	inOut.open("text.txt", ios::in);
    	for (int i = 1; i < 40; i++) {
    		inOut.getline(s, 256);
    		char* pch;
    		pch = strtok(s, " ,-:;");
    		while (pch != NULL) {
    			word = string(pch);
    			my.insert(pair <string, int>(pch, i));
    			//cout << pch <<'\t'<<i<< endl;
    			pch = strtok(NULL, " ,-:");
    		}
    	}
    		inOut.close();
    	//cout << s;
    		for (it = my.begin(); it != my.end(); it++) {
    			cout.width(25);
    			cout << (*it).first <<setw(5) << (*it).second  << endl;
    		}
    	
    	
    	system("pause");
        return 0;
    }

    Берёт из текста строки и сортирует в алфавитном порядке

    ArthurMakaev, 19 Марта 2018

    Комментарии (17)
  11. PHP / Говнокод #23964

    +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
    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
    foreach ($imagesData['file_title'] as $i1 => $d1) {
                usleep(5);
                
                if($i1>0) {
                    Media::find($i1)->update(['title'=>$imagesData['file_title'][$i1]]);
                }
            }
            foreach ($imagesData['author_name'] as $i2 => $d2) {
                usleep(5);
                
                if($i2>0) {
                    Media::find($i2)->update(['author_name'=>$imagesData['author_name'][$i2]]);
                } 
            }
            foreach ($imagesData['author_link'] as $i3 => $d3) {
                usleep(5);
                
                if($i3>0) {
                    Media::find($i3)->update(['author_url'=>$imagesData['author_link'][$i3]]);
                } 
            }
            foreach ($imagesData['source_link'] as $i4 => $d4) {
                usleep(5);
                
                if($i4>0) {
                    Media::find($i4)->update(['source_url'=>$imagesData['source_link'][$i4]]);
                } 
            }
            foreach ($imagesData['license_name'] as $i5 => $d5) {
                usleep(5);
                
                if($i5>0) {
                    Media::find($i5)->update(['license_name'=>$imagesData['license_name'][$i5]]);
                } 
            }
            foreach ($imagesData['license_link'] as $i6 => $d6) {
                usleep(5);
                
                if($i6>0) {
                    Media::find($i6)->update(['license_url'=>$imagesData['license_link'][$i6]]);
                } 
            }

    Laravel, блять.
    Вот и пусти араба в свою ветку.

    Romanovich095, 19 Марта 2018

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