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

    В номинации:
    За время:
  2. Куча / Говнокод #27649

    −2

    1. 1
    https://habr.com/ru/post/576818/

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

    Поэтому я во-первых, призываю их подумать о том, что они попросту сами себе роют яму, создавая повышенные риски собственной успешной профессиональной и личной жизни.
    Во-вторых, я повторю свое давнее обещание - если я замечу, что подобный человек, не раскаявшийся деятельно в своей деятельности, хочет устроиться в ту же компанию, где уже работаю (или работал) я, то я применю свое влияние в том объеме, который имею в этот момент, чтобы данный человек в эту компанию не попал.

    В третьих - что я понимаю под деятельным раскаянием. Мне (и я надеюсь, нам - профессиональному сообществу) не нужны покаянные речи на публику, этим пусть занимаются те, кому речи являются профессией - политики или журналисты.

    Деятельное раскаяние человека, причастного к IT, - это программа, сервис или библиотека функций под LGPL, выложенные на GitHub или подобном сервисе, предназначенные для нейтрализации того (или эквивалентного) вреда для беспрепятственного и свободного распространения информации, который он нанес, работая на безумцев.

    JloJle4Ka, 08 Сентября 2021

    Комментарии (104)
  3. JavaScript / Говнокод #27555

    +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
    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
    function call_func_1(
        f: () => void
    ) {
        f();
    }
    
    function call_func(
        f: (o: object) => void,
        user: { firstName: string }
    ) {
        f(user);
    }
    
    function main() {
        const user = {
            firstName: "World",
            sayHi() {
                print(`Hello ${this.firstName}`);
            },
        };
    
        user.sayHi();
    
        const hi = user.sayHi;
        hi();
    
        let hi2 = user.sayHi;
        hi2();
    
        call_func_1(() => {
            hi2();
        });
    
        call_func(user.sayHi, user);
    
        print("done.");
    }

    как тебе такой говно-пиздец Илон Маск?

    ASD_77, 10 Августа 2021

    Комментарии (104)
  4. C++ / Говнокод #26913

    +3

    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
    int main()
    {   
        using output1 = Eval<
            Input<'H', 'e', 'l', 'l', 'o'>,
            App<
                ',', '>', ',', '>', ',', '>', ',', '>', ',', '>',
                '<', '.', '<', '.', '<', '.', '<', '.', '<', '.'
            >
        >;
        std::cout << "Hello reverse (read/write): " << SpanToStringContinuous<output1>::value() << std::endl;
    
        using output2 = Eval<
            Input<>,
            App<'+', '+', '+', '[', '-', ']'>
        >;
        std::cout << "Simple loop (empty output): " << SpanToStringContinuous<output2>::value() << std::endl;
    
        // Source: Wikipedia
        using output3 = Eval<
            Input<>,
            App<
                '+', '+', '+', '+', '+', '+', '+', '+', '[', '>', '+', '+', '+',
                '+', '[', '>', '+', '+', '>', '+', '+', '+', '>', '+', '+', '+',
                '>', '+', '<', '<', '<', '<', '-', ']', '>', '+', '>', '+', '>',
                '-', '>', '>', '+', '[', '<', ']', '<', '-', ']', '>', '>', '.',
                '>', '-', '-', '-', '.', '+', '+', '+', '+', '+', '+', '+', '.',
                '.', '+', '+', '+', '.', '>', '>', '.', '<', '-', '.', '<', '.',
                '+', '+', '+', '.', '-', '-', '-', '-', '-', '-', '.', '-', '-',
                '-', '-', '-', '-', '-', '-', '.', '>', '>', '+', '.', '>', '+',
                '+', '.'
            >
        >;
        std::cout << "Hello World (wiki): " << SpanToStringContinuous<output3>::value() << std::endl;
    
    
        return EXIT_SUCCESS;
    }

    https://wandbox.org/permlink/AERueBhsiS4WxGZY, https://pastebin.com/Cywe05JY

    Напейсал полностью компайл-таймовый интерпретатор «Брейнфака» на крестовых шаблонах.

    gost, 03 Сентября 2020

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

    +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
    function send_message_with_photo($token, $peer_id, $message, $image_file_path) {
        $ch = curl_init();
    
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_POST, true);
    
        /* Получаем ссылку для загрузки фотографии */
    
        curl_setopt($ch, CURLOPT_URL, 'https://api.vk.com/method/photos.getMessagesUploadServer');
        curl_setopt($ch, CURLOPT_POSTFIELDS, array(
            "access_token" => $token,
            "v" => "5.103"
        ));
    
        $result = json_decode(curl_exec($ch), true);
    
        $upload_url = $result['response']['upload_url'];
    
        /* Отправляем фотографию */
    
        curl_setopt($ch, CURLOPT_URL, $upload_url);
        $file = curl_file_create($image_file_path);
        curl_setopt($ch, CURLOPT_POSTFIELDS, array(
            "photo" => $file,
        ));
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: multipart/form-data'));
    
        $result = json_decode(curl_exec($ch), true);
    
        $server = $result['server'];
        $photo = $result['photo'];
        $hash = $result['hash'];
    
        /* Сохраняем фотографию */    
    
        curl_setopt($ch, CURLOPT_URL, 'https://api.vk.com/method/photos.saveMessagesPhoto');
        curl_setopt($ch, CURLOPT_POSTFIELDS, array(
            "access_token" => $token,
            "v" => "5.103",
            "server" => $server,
            "photo" => $photo,
            "hash" => $hash
        ));
    
        $result = json_decode(curl_exec($ch), true);
    
        $photo_id = strval($result['response'][0]['id']);
        $owner_id = strval($result['response'][0]['owner_id']);
    
        $attachment = "photo" . $owner_id . "_" . $photo_id;
    
        /* Отправляем сообщение */
    
        curl_setopt($ch, CURLOPT_URL, 'https://api.vk.com/method/messages.send');
        curl_setopt($ch, CURLOPT_POSTFIELDS, array(
            "access_token" => $token,
            "v" => "5.103",
            "random_id" => rand(),
            "peer_id" => $peer_id,
            "message" => $message,
            "attachment" => $attachment 
        ));
    
        $result =  json_decode(curl_exec($ch), true);
    
        curl_close($ch);
    }

    Говнокод для загрузки фото в ВК)

    kaluginvlad, 01 Февраля 2020

    Комментарии (104)
  6. JavaScript / Говнокод #25716

    0

    1. 1
    2. 2
    Бесят пидоры, которые переопределяют действие "Ctrl+F" в браузере
    на свой сраный никому не нужный поиск.

    BoeHHblu_nemyx, 12 Июля 2019

    Комментарии (104)
  7. Куча / Говнокод #19899

    −2

    1. 1
    https://toster.ru/q/315470

    Деанон пидара без СМС.

    Vasiliy, 28 Апреля 2016

    Комментарии (104)
  8. Куча / Говнокод #14296

    +126

    1. 1
    http://www.youtube.com/watch?v=HNMq8XS4LhE

    позвольте и мне похулиганить.
    в тему недавних комментов.

    Lure Of Chaos, 28 Декабря 2013

    Комментарии (104)
  9. Java / Говнокод #13659

    +65

    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
    /*
     * 
     * 
     */
    
    public class Chapter1 {
    	private String text[] = { "Returns a  new string that is a ",
    			"substring of this string" };
    	private String splitted[];
    
    	private int k = 2; // 
    	private char c = '<'; 
    
    	public void run() {
    		for (int i = 0; i < text.length; i++) {
    			text[i] = makeString(text[i], change(i)); 
    														
    			System.out.println(text[i]);
    			
    		}
    	}
    
    	/*
    	 * 
    	 */
    	private String makeString(String textLine, String[] changed) {
    		StringBuilder sBui = new StringBuilder(textLine);
    
    		int i = 0; // changed index
    		int beginIndex = 0; 
    		
    
    		for (int j = 0; j < splitted.length; j++) {
    			beginIndex = sBui.indexOf(splitted[j], beginIndex); // word begin		
    			int endIndex = beginIndex + splitted[j].length(); // word end
    			
    			if(splitted[j].length() > k){			
    				sBui.delete(beginIndex, endIndex);
    				sBui.insert(beginIndex, changed[i++]);
    			} 
    			
    			beginIndex = endIndex;
    		}
    						
    		return sBui.toString();
    	}
    
    	/*
    	 * 
    	 * 
    	 */
    	public String[] change(int i) {
    
    		splitted = text[i].split("\t|\n| "); 
    
    		for (int indx = 0; indx < splitted.length; indx++) {
    			if (splitted[indx].length() > k) {
    				StringBuilder sBuild = new StringBuilder(splitted[indx]);
    				sBuild.setCharAt(k, c);
    				splitted[indx] = sBuild.toString(); // irasomas pakeistas zodis				
    			}
    		}
    
    		return splitted;
    	}
    
    } // end

    help, задание - вкаждом слове текста к-тую буквы заменить с символом, если длина слова меньше к, замену не выполнять.

    Exception in thread "main" java.lang.StringIndexOutOfBoundsExceptio n: String index out of range: -1 (проблема)

    spivti, 24 Августа 2013

    Комментарии (104)
  10. Haskell / Говнокод #12056

    −82

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    only :: (Integral nt) => nt -> [Bool]
    only n = [ x `mod` n == 0 | x <- [0..] ]
    
    each :: (Integral nt) => nt -> [a] -> [a]
    each n xs = [ snd x | x <- filter fst $ zip (only n) xs ]
    
    main = do print $ each 2 [1,2,3,4,5,6,7,8,9]

    Haskell. Получение каждого n-го элемента списка.

    Fai, 05 Ноября 2012

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

    +135

    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
    for(int i =0; i<1;i++)
                {
                    if (reader["Brand"].ToString() == addForm.txtBrand.Text) { flag = false; } else { flag = true;  break; }
                    if (reader["Model"].ToString() == addForm.txtModel.Text) { flag = false; } else { flag = true; break; }
                    if (reader["Year"].ToString() == addForm.numYear.Value.ToString()) { flag = false; } else { flag = true; break; }
                    if (reader["Capacity"].ToString() == addForm.cboCapacity.Text) { flag = false; } else { flag = true; break; }
                    string k;
                    if (addForm.optAuto.Checked) { k = "Auto"; } else { k = "Mech"; }
                    if (reader["Control Box"].ToString() == k) { flag = false; } else { flag = true; break; }
                    if (reader["Country"].ToString() == addForm.txtCountry.Text) { flag = false; } else { flag = true; break; }
                    if (reader["Max speed"].ToString() == addForm.txtSpeed.Text) { flag = false; } else { flag = true; break; }
                    if (reader["Acceleration to 100 km/h"].ToString() == addForm.txtRacing.Text) { flag = false; } else { flag = true; break; }
                    if (reader["Engine type"].ToString() == addForm.txtEngine.Text) { flag = false; } else { flag = true; break; }
                    if (reader["Body"].ToString() == addForm.cboBody.Text) { flag = false; } else { flag = true; break; }
                    if (reader["Seats"].ToString() == addForm.numSeats.Value.ToString()) { flag = false; } else { flag = true; break; }
                    if (reader["Doors"].ToString() == addForm.numDoors.Value.ToString()) { flag = false; } else { flag = true; break; }
                    if (reader["Length"].ToString() == addForm.txtLength.Text) { flag = false; } else { flag = true; break; }
                    if (reader["Width"].ToString() == addForm.txtWidth.Text) { flag = false; } else { flag = true; break; }
                    if (reader["Power"].ToString() == addForm.txtPower.Text) { flag = false; } else { flag = true; break; }
                    if (reader["Drive Gear"].ToString() == addForm.cboTrans.Text) { flag = false; } else { flag = true; break; }
                 
                }

    Проверка на то, были изменения в форме при вызове редактирования по сравнению с записью в базе

    MrFeathers, 20 Ноября 2011

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