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

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

    +1

    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
    var btn_checkAll = document.getElementById('checkAll');
    if (btn_checkAll) {
        btn_checkAll.addEventListener('click', checkAll);
    }
    
    var inputTagsArray = [];
    function getInputTags() {
        inputTagsArray = document.getElementsByTagName('input');
        inputTagsArray = Array.prototype.slice.call(inputTagsArray);
    }
    
    
    function getArray(action) {
        getInputTags();
        var checkedInputTagsArray = [];
        inputTagsArray.forEach(function(element) {
            if (element.getAttribute('id')) {
                if (element.checked) {
                    checkedInputTagsArray.push(element.getAttribute('id'));
                }
            }
        });
        if (!checkedInputTagsArray[0]) {
            alert("Не было выбрано ни одного изображения");
            return false;
        }
        else {
            if (confirm("Вы уверены что хотите совершить данное действие?")) {
                //в пхп есть гет-метод, который удаляет картиночки по ид.
                //надо передавать ид, но я неосилятор и не осили аякс, поэтому
                //вместо нормального метода, принимающего массивом ид картиночек постом
                //я делаю это:
                location.href = "/products/" + action + "/?id=" + checkedInputTagsArray.join("_");
            }
            else {
                return false;
            }
        }
    }
    
    function checkAll() {
        getInputTags();
        inputTagsArray.forEach(function(element){
            if (element.getAttribute('id')) {
                 if (element.checked) {
                    element.checked = false;
                 }
                 else {
                    element.checked = true;
                 }
            }
        });
    }
    
    function deleteChecked() {
        getArray("imagedelete");
    }
    
    function showHideChecked() {
        getArray("show-hide");
    }

    в пхп есть гет-метод, который удаляет картиночки по ид.
    надо передавать ид, но я неосилятор и не осили аякс, поэтому
    вместо нормального метода, принимающего массивом ид картиночек постом
    я делаю это:

    wowwtfisthatworking, 31 Октября 2018

    Комментарии (99)
  3. Куча / Говнокод #25040

    +1

    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
    А напишите кто-нибудь мобильное приложение для видеосвязи в десять строчек, 
    которое не требует аккаунта, серверов и вообще ничего, кроме самого смартфона.
    Просто по СМС скидывает адресату свой текущий IP, который ему на нынешнюю 
    секунду выдал опсос, и потом они тупо по UDP друг другу кидают поток пожатого 
    любым популярным кодеком видео. Если датаграмма не дойдёт, ну заикнётся видео, 
    хер с ним. Можно одноразовый ключ кидать той же СМС, ну просто на всякий случай 
    (допустим, IP прямо посреди разговора поменяется, чтобы не улетело неведомо кому).
    
    Такая вещь сама по себе не появится, потому что её нельзя пафосно запатентовать, 
    закопирастить протоколы и алгоритмы и потом монетизировать. 
    В ней нет вообще ничего. Софт-пустое-место. Возьми данные из A и положи в B. 
    Камера→netcat→экран. Поэтому её надо самим писать, никто больше не сделает.
    Оно, конечно, будет СМС поджирать, но их в пакетах с нормальным траффиком всё 
    равно хренова тонна.

    Идея стырена из бездны. Выжпрограммисты, чо.
    Только не понял, все равно хотя бы у одного должен быть белый IP с открытыми портами (а в сотовой сети такое вообще бывает?).

    Steve_Brown, 30 Октября 2018

    Комментарии (13)
  4. Куча / Говнокод #25035

    +1

    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
    Никогда так не расстраиваюсь как слитая партия после нескольких дней усладной игры.
    
    НАпример в Crusader kings 2 постоянно так - сидишь играешь развиваешься, стал убер персонажом каралем всея мира от индии до британских островов. Ты старик и детей нет но есть шанс - ты выбрал путь соблазна. 
    Однажды выпал эвент на великую оргию где был шанс умиреть 1% от перетраха? хз, там просто процент показывают. Зато у тебя был бы сто процентный наследник бастард хотяб. Но нет ссаный рандом решил 1%
    само то. Умер - династия просрана, игре конец.
    
    Сидишь играешь за мусульман. Ты крутой шиит всех режишь горло во славу алаха. Но твой какой-то родственник в 10 покалении решил по декаденствовать и решил еще стать авантюристом где-то у племен ебанных викингов
    Ну значит он приходит, ты в ахуе - твоя династия из-за этого хуя в упадке, так еще и войска хуесос привел больше тебя. Даже если он захватил власть - смотришь на его трейти он весь по нулям, тупой гомик, и бешенство
    из-за бешенства он умирает через 3 дня, содиться какой-то его сын, ему 5, и тут война династического упадка, его свергает еще какой-то хуй и пиздец. В итоге твоя страна стала 1 маленькая правинция. А ты был виликим Аббасидом.
    А из-за того что ты шиита еще просрал силу у религии, суниты стали сильнее тебе жахают священку и тибе пизда.
      
    Сидишь играешь за викингов - ты такой гопник грабишь Константинополь и пиздец, ты умираешь от стресса. Страна в развале - так как племя ебанное не централизованное и разваливаеться на куски между сыновьями и Рагнар тупой хуй
    Сидишь такой Русь делаешь не Рюриковичами. Ты обосаный язычник и выкалываешь глаз Перуну, потом руки, потом ноги. Но ты все равно пиздато мечем махаешь, лучше вас нет командира, хоть ты и обрубок.
    
    Сижу играю в Cities Skylines. Сижу строю строю, пастроил красивый город 100к жителесь с бледжеком и небоскребами. Но я забыл убрать случайные катострофы.
    В один момент прошло пришла цунами и слила все 100к жителей в море. Сука блядь обидно.

    :'(

    3oJIoTou_xyu, 29 Октября 2018

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

    +1

    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
    // my __enable_if
    template < typename T >
    struct __Conflict {};
    
    template <bool B, class T = void>
    struct __enable_if { typedef __Conflict<T> type; };
    
    template <class T>
    struct __enable_if<true, T> { typedef T type; };
    
    // Example of usage:
    template <typename T>
    class Lazy
    {
    public:
        void _ctor(bool b);
        void _ctor(typename __enable_if<!std::is_same<T, bool>::value, T>::type);
    };
    
    template <typename T>
    void Lazy<T>::_ctor(bool b)
    {
        std::cout << "bool " << b << std::endl;
    };
    
    template <typename T>
    void Lazy<T>::_ctor(typename __enable_if<!std::is_same<T, bool>::value, T>::type t)
    {
        std::cout << "T " << t << std::endl;
    };
    
    int main(int argc, char **argv)
    {
        Lazy<int> i;
        i._ctor(10);
        i._ctor(true);
    
        Lazy<bool> b;
        b._ctor(true);
    
        return 0;
    }

    Наговнокодил свой собственный "enable_if" который круче стандартного и дает возможность писать класный говнокод

    ASD_77, 29 Октября 2018

    Комментарии (30)
  6. Си / Говнокод #25028

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    #include <stdio.h>
    
    int main(void) {
        puts("\x05pituh");
        puts("\x06COCOCO");
        puts("\x0000000005CO-CO");
        puts("\00256");
        return 0;
    }

    https://ideone.com/qNn7NF

    Ололо, а я-то сразу и не понял в чём дело...

    adrnin, 27 Октября 2018

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Что-то я давно не обсирал тут хуиту, которую пишут про 
    плюсы на хабре
    
    https://habr.com/post/426965/
    
    Идеального способа для обработки ошибок не существует. 
    До недавнего  времени в С++ были почти все возможные 
    способы обработки ошибок кроме  монад.

    В этой замечательной статье забыли упомянуть setjmp/longjmp(std::longjmp если угодно), который хоть и из Си, но в C++ его никто не запрещал.
    А еще signal (std::signal, если угодно), который хоть и из Си, но в C++ его никто не запрещал.
    А еще goto (почему нет std::goto? Запилите быстраблядь!), который хоть и из Си, но в C++ его никто не запрещал.

    А вообще, зачем иметь в языке такое количество говна в СТАНДАРТНОЙ БИБЛИОТЕКЕ для такой хуиты?

    Вот еще в тему: https://video.twimg.com/tweet_video/De78Qn2XcAAQqfS.mp4

    j123123, 20 Октября 2018

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

    +1

    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
    /* Сортировка начало */
            if (Yii::$app->request->get('sort_number') && strlen(Yii::$app->request->get('sort_number')) === 4) {
                $model->orderBy([
                    'number' => SORT_DESC,
                ]);
            } else {
                if (Yii::$app->request->get('sort_number') && strlen(Yii::$app->request->get('sort_number')) === 5) {
                    $model->orderBy([
                        'number' => SORT_ASC,
                    ]);
                }
            }
            if (Yii::$app->request->get('sort_domain_name') && strlen(Yii::$app->request->get('sort_domain_name')) === 4) {
                $model->orderBy([
                    $company_name => SORT_DESC,
                ]);
            } else {
                if (Yii::$app->request->get('sort_domain_name') && strlen(Yii::$app->request->get('sort_domain_name')) === 5) {
                    $model->orderBy([
                        $company_name => SORT_ASC,
                    ]);
                }
            }
            if (Yii::$app->request->get('sort_domain_id') && strlen(Yii::$app->request->get('sort_domain_id')) === 4) {
                $model->orderBy([
                    'domain_id' => SORT_DESC,
                ]);
            } else {
                if (Yii::$app->request->get('sort_domain_id') && strlen(Yii::$app->request->get('sort_domain_id')) === 5) {
                    $model->orderBy([
                        'domain_id' => SORT_ASC,
                    ]);
                }
            }
            if (Yii::$app->request->get('sort_id') && strlen(Yii::$app->request->get('sort_id')) === 4) {
                $model->orderBy([
                    'id' => SORT_DESC,
                ]);
            } else {
                if (Yii::$app->request->get('sort_id') && strlen(Yii::$app->request->get('sort_id')) === 5) {
                    $model->orderBy([
                        'id' => SORT_ASC,
                    ]);
                }
            }
            /* Сортировка конец */
    
            /* Поиск начало */
            if (Yii::$app->request->get('id') && strlen(Yii::$app->request->get('id')) >= 1) {
                $model->andWhere([
                    'id' => Yii::$app->request->get('id'),
                ]);
            }
            if (Yii::$app->request->get('number') && strlen(Yii::$app->request->get('number')) >= 3) {
                $model->andWhere(['number' => Yii::$app->request->get('number'),
                ]);
            }
            if (Yii::$app->request->get('domain_name') && strlen(Yii::$app->request->get('domain_name')) >= 3) {
                $model->andWhere([$company_name => Yii::$app->request->get('domain_name'),
                ]);
            }
            if (Yii::$app->request->get('domain_id') && strlen(Yii::$app->request->get('domain_id')) >= 3) {
                $model->andWhere(['domain_id' => Yii::$app->request->get('domain_id'),
                ]);
            }
            if (Yii::$app->request->get('appointment') && strlen(Yii::$app->request->get('appointment')) >= 3) {
                $model->andWhere(['appointment' => Yii::$app->request->get('appointment'),
                ]);
            }
            /* Поиск конец */

    Джуна отправили в свободное плавание... как вам?

    ZeiZ, 20 Октября 2018

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

    +1

    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
    public class TransactionRequestViewModel
    {
            public string X_login { get; set; }
    
            public double X_amount { get; set; }
    
            public int X_fp_sequence { get; set; }
    
            public int X_fp_timestamp { get; set; }
    
            public string X_fp_hash { get; set; }
    
            public string X_show_form { get; set; }
    
            public string X_receipt_link_method { get; set; }
    
            public string X_receipt_link_text { get; set; }
    
            public string X_receipt_link_url { get; set; }
    
            public string X_currency_code { get; set; }
    
            public string X_line_item { get; set; }
    }

    Этот "Х" добавляет +80 к читаемости.

    Moses, 19 Октября 2018

    Комментарии (50)
  10. PHP / Говнокод #24939

    +1

    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 function index(Request $request)
        {
            $user = User::find(Auth::user()->id);
    
            if($request->method() == 'POST') {
                $user->username = $request->post('username');
                $user->email = $request->post('email');
                $user->save();
                return redirect()->to(route('account.settings'));
            }
            return view('Account::settings.index', ['user' => $user]);
        }

    bearma, 19 Октября 2018

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public GlobalSetting ReadGlobalSettingById(string id)
    {
    	int totalItems;
    	var globalSettings = ReadGlobalSettings(PageSetting.All, out totalItems);
    
    	return globalSettings.FirstOrDefault(e => e.GlobalSettingID == id);
    }

    Инновационный алгоритм считывания сущности по ID:
    1) считываем ВСЕ записи из базы в память;
    2) в памяти находим сущность с нужным ID;
    3) все остальное пусть Garbage Collector подберет;
    4) удобно же, не правда ли?)

    Moses, 11 Октября 2018

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