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

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

    +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
    abstract class Department {
        constructor(public name: string) {}
    
        printName(): void {
            print("Department name: " + this.name);
        }
    
        abstract printMeeting(): void; // must be implemented in derived classes
    }
    
    class AccountingDepartment extends Department {
        constructor() {
            super("Accounting and Auditing"); // constructors in derived classes must call super()
        }
    
        printMeeting(): void {
            print("The Accounting Department meets each Monday at 10am.");
        }
    
        generateReports(): void {
            print("Generating accounting reports...");
        }
    }
    
    function main() {
        let department: Department; // ok to create a reference to an abstract type
        department = new AccountingDepartment(); // ok to create and assign a non-abstract subclass
        department.printName();
        department.printMeeting();
        //department.generateReports(); // error: department is not of type AccountingDepartment, cannot access generateReports
        print("done.");
    }

    Алилуя - я вам абстракты принес :)

    ASD_77, 16 Июля 2021

    Комментарии (433)
  3. Go / Говнокод #28943

    +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
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    package main
    
    import (
    	"io"
    	"fmt"
    	"log"
    	"bytes"
    	"strings"
    	"net/http"
    	"net/http/httputil"
    	"net/url"
    )
    
    func UpdateResponse(r *http.Response) error {
    	for k, v := range r.Header {
    		newValue := strings.Replace(v[0], "umnico.com", "umnico.*****.ru", -1)
    		r.Header[k][0] = newValue
    	}
    	b, err := io.ReadAll(r.Body)
    	if(err == nil) {
    		bodyText := strings.Replace(string(b), "://umnico.com", "://umnico.*****.ru", -1);
    		if(strings.Contains(bodyText, "</head><body>")) {
    			injectedStyle := `<style>
    			.nav-menu.hidden, .widget__preview-container--tech-support {
    				display: none !important;
    			}
    			</style>`
    			bodyText = strings.Replace(bodyText, "</head><body>", injectedStyle + "</head><body>", -1);
    		}
    		if(strings.Contains(bodyText, "</body></html>")) {
    			injectedScript := `<script>
    			fetch('/api/user').then((response) => { 
    				return response.json().then((data) => {
    					//alert(data.user.id);
    					if(data.user.id != 12345) {
    						const style = document.createElement('style');
    						style.textContent = '.im__chat-buttons{display:none!important;}';
    						document.head.appendChild(style);
    					}
    					return true;
    				}).catch((err) => {
    					console.log(err);
    				}) 
    			});
    			var currentDialogId = 0;
    			function checkDialogControls() {
    				if(location.pathname.indexOf('app/deals/inbox/details/') > 0 || location.pathname.indexOf('app/deals/active/details/') > 0) {
    					if(location.pathname.indexOf('app/deals/active/details/') > 0) {
    						var dialogId = location.pathname.split('app/deals/active/details/')[1];
    					} else {
    						var dialogId = location.pathname.split('app/deals/inbox/details/')[1];
    					}
    					var chatIndicator = document.querySelector('.im-aside-section.im-aside-section__toolbox');
    					if(chatIndicator != null) {
    						var injectedControls = document.querySelector('.im-aside-section.injected-controls');
    						if(injectedControls == null) {
    							chatIndicator.insertAdjacentHTML('afterend', '<div class="im-aside-section injected-controls"><div><button type="button" class="button" style="width:100%;" onclick="window.parent.postMessage(\'openBookingModalByUmnicoId('+dialogId+')\', \'*\');">Оформить бронь</button></div><div style="margin-top:5px;"><button type="button" class="button button_attention" style="width:100%;" onclick="window.parent.postMessage(\'openLeadTaskModalByUmnicoId('+dialogId+')\', \'*\');">Задача</button></div></div>');
    						} else {
    							if(currentDialogId != dialogId) {
    								injectedControls.remove();
    							}
    						}
    						currentDialogId = parseInt(dialogId);
    					}
    				}
    			}
    
    			setInterval(checkDialogControls, 100);
    			</script>`
    			bodyText = strings.Replace(bodyText, "</body></html>", injectedScript + "</body></html>", -1);
    		}
    		
    		if(strings.Contains(bodyText, "window.location.hostname != \"localhost\"")) {
    			bodyText = strings.Replace(bodyText, "window.location.hostname != \"localhost\"", "window.location.hostname != \"localhost\" && window.location.hostname != \"umnico.*****.ru\"", -1);
    		}
    		
    		buf := bytes.NewBufferString(bodyText)
    		r.Body = io.NopCloser(buf)
    		r.Header["Content-Length"] = []string{fmt.Sprint(buf.Len())}
    	}
    	return nil
    }
    
    func main() {
    	target, err := url.Parse("https://umnico.com:443")
    	if err != nil {
    		log.Fatal(err)
    	}
    	proxy := httputil.NewSingleHostReverseProxy(target)
    	proxy.ModifyResponse = UpdateResponse
    	http.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) {
    		req.Host = req.URL.Host
    		proxy.ServeHTTP(w, req)
    	})
    	err = http.ListenAndServe("127.0.0.1:8803", nil)
    	if err != nil {
    		panic(err)
    	}
    }

    Мой код для проксирования одного из SaaS-сервисов, с целью встраивания в интерфейс последнего кастомных кнопок. Взглянул спустя пару месяцев и ужаснулся.

    rotoeb, 17 Мая 2024

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

    −1

    1. 1
    Бесконечный оффтоп имени Борманда #9

    #1: https://govnokod.ru/25864 https://govnokod.xyz/_25864
    #2: https://govnokod.ru/25921 https://govnokod.xyz/_25921
    #3: https://govnokod.ru/26544 https://govnokod.xyz/_26544
    #4: https://govnokod.ru/26838 https://govnokod.xyz/_26838
    #5: https://govnokod.ru/27625 https://govnokod.xyz/_27625
    #6: https://govnokod.ru/27736 https://govnokod.xyz/_27736
    #7: https://govnokod.ru/27739 https://govnokod.xyz/_27739
    #8: https://govnokod.ru/27745 https://govnokod.xyz/_27745

    nepeKamHblu_nemyx, 31 Июля 2022

    Комментарии (432)
  5. Куча / Говнокод #28854

    0

    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
    Хрюкни #39
                 ._     __,
                  |\,../'\
                ,'. .     `.
               .--         '`.
              ( `' ,          ;
              ,`--' _,       ,'\
             ,`.____            `.
            /              `,    |
           '                \,   '
           |                /   /`,
           `,  .           ,` ./  |
           ' `.  ,'        |;,'   ,@
     ______|     |      _________,_____jv______
            `.   `.   ,'
             ,'_,','_,
             `'   `'

    #9: https://govnokod.ru/27175 https://govnokod.xyz/_27175
    #10: https://govnokod.ru/27472 https://govnokod.xyz/_27472
    #11: https://govnokod.ru/27517 https://govnokod.xyz/_27517
    #12: https://govnokod.ru/27636 https://govnokod.xyz/_27636
    #13: (vanished) https://govnokod.xyz/_27711
    #14: https://govnokod.ru/27713 https://govnokod.xyz/_27713
    #15: https://govnokod.ru/27721 https://govnokod.xyz/_27721
    #16: https://govnokod.ru/27722 https://govnokod.xyz/_27722
    #17: (vanished) https://govnokod.xyz/_27723
    #18: https://govnokod.ru/27724 https://govnokod.xyz/_27724
    #19: https://govnokod.ru/27726 https://govnokod.xyz/_27726
    #20: https://govnokod.ru/27727 https://govnokod.xyz/_27727
    #21: https://govnokod.ru/27870 https://govnokod.xyz/_27870
    #22: https://govnokod.ru/28067 https://govnokod.xyz/_28067
    #23: https://govnokod.ru/28277 https://govnokod.xyz/_28277
    #24: https://govnokod.ru/28471 https://govnokod.xyz/_28471
    #25: https://govnokod.ru/28659 https://govnokod.xyz/_28659
    #26: (vanished) https://govnokod.xyz/_28661
    #27: (vanished) https://govnokod.xyz/_28668
    #28: https://govnokod.ru/28678 https://govnokod.xyz/_28678
    #29: https://govnokod.ru/28686 https://govnokod.xyz/_28686
    #30: https://govnokod.ru/28693 https://govnokod.xyz/_28693
    #31: https://govnokod.ru/28700 https://govnokod.xyz/_28700
    #32: https://govnokod.ru/28706 https://govnokod.xyz/_28706
    #33: https://govnokod.ru/28713 https://govnokod.xyz/_28713
    #34: https://govnokod.ru/28723 https://govnokod.xyz/_28723
    #35: https://govnokod.ru/28731 https://govnokod.xyz/_28731
    #36: https://govnokod.ru/28737 https://govnokod.xyz/_28737
    #37: https://govnokod.ru/28741 https://govnokod.xyz/_28741
    #38: https://govnokod.ru/28751 https://govnokod.xyz/_28751

    nepeKamHblu_nemyx, 21 Сентября 2023

    Комментарии (429)
  6. Куча / Говнокод #28572

    −2

    1. 1
    Политота #19

    #1: https://govnokod.ru/15804 https://govnokod.xyz/_15804
    #2: https://govnokod.ru/19910 https://govnokod.xyz/_19910
    #3: https://govnokod.ru/23643 https://govnokod.xyz/_23643
    #4: (vanished) https://govnokod.xyz/_24822
    #5: https://govnokod.ru/24868 https://govnokod.xyz/_24868
    #6: (vanished) https://govnokod.xyz/_26648
    #7: https://govnokod.ru/26673 https://govnokod.xyz/_26673
    #8: https://govnokod.ru/27052 https://govnokod.xyz/_27052
    #9: https://govnokod.ru/27852 https://govnokod.xyz/_27852
    #10: https://govnokod.ru/28060 https://govnokod.xyz/_28060
    #11: https://govnokod.ru/28091 https://govnokod.xyz/_28091
    #12: https://govnokod.ru/28103 https://govnokod.xyz/_28103
    #13: https://govnokod.ru/28144 https://govnokod.xyz/_28144
    #14: https://govnokod.ru/28270 https://govnokod.xyz/_28270
    #15: https://govnokod.ru/28341 https://govnokod.xyz/_28341
    #16: https://govnokod.ru/28379 https://govnokod.xyz/_28379
    #17: https://govnokod.ru/28394 https://govnokod.xyz/_28394
    #18: https://govnokod.ru/28440 https://govnokod.xyz/_28440

    nepeKamHblu_nemyx, 23 Января 2023

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

    0

    1. 1
    Именно поэтому я за «PHP» #5

    #1: https://govnokod.ru/26462 https://govnokod.xyz/_26462
    #2: https://govnokod.ru/26827 https://govnokod.xyz/_26827
    #3: https://govnokod.ru/26832 https://govnokod.xyz/_26832
    #4: https://govnokod.ru/27539 https://govnokod.xyz/_27539

    nepeKamHblu_nemyx, 04 Июля 2022

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

    0

    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
    // https://habr.com/ru/post/550442/
    // Как компилятор C++ находит правильную функцию 
    
    // Вот так компилятор точно определяет, какую функцию следует вызвать:
    // https://hsto.org/webt/mp/tb/5k/mptb5kheibrreqspserc4sfdfrs.png
    
    // Эти шаги закреплены в стандарте C++. Каждый компилятор C++ должен следовать им,
    // и все это происходит во время компиляции для каждого вызова функции. Оглядываясь
    // назад, это очевидно, что должен быть такой алгоритм. Это единственный способ, которым
    // C++ может поддерживать все вышеупомянутые возможности одновременно. Это то, что вы
    // получите, если необходимо объединить их вместе.
    
    // Я предполагаю, что общая цель алгоритма — «делать то, что ожидает программист»,
    // и до некоторой степени он в этом преуспевает. Вы можете довольно далеко зайти,
    // полностью игнорируя этот алгоритм. Но когда вы начинаете использовать все возможности
    // C++, как при разработке библиотеки, то лучше знать эти правила.

    Да, это конечно очень круто, только вот существует примерно 0 компиляторов, которые полностью корректно (т.е. в полном соответствии с Говностандартом) реализуют эту срань с вызовом правильной функции/метода с учетом всей хуйни.

    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51577 - этот баг висит еще 2011-12-16 и его так никто нихуя не пофиксил

    И в Clang такого рода баги тоже есть.

    j123123, 29 Мая 2021

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

    −1

    1. 1
    Пиздец-оффтоп #65

    #35: https://govnokod.ru/27822 https://govnokod.xyz/_27822
    #36: https://govnokod.ru/27826 https://govnokod.xyz/_27826
    #37: https://govnokod.ru/27827 https://govnokod.xyz/_27827
    #38: https://govnokod.ru/27833 https://govnokod.xyz/_27833
    #39: https://govnokod.ru/27862 https://govnokod.xyz/_27862
    #40: https://govnokod.ru/27869 https://govnokod.xyz/_27869
    #41: https://govnokod.ru/27933 https://govnokod.xyz/_27933
    #42: (vanished) https://govnokod.xyz/_27997
    #43: https://govnokod.ru/28042 https://govnokod.xyz/_28042
    #44: https://govnokod.ru/28080 https://govnokod.xyz/_28080
    #45: https://govnokod.ru/28086 https://govnokod.xyz/_28086
    #46: https://govnokod.ru/28105 https://govnokod.xyz/_28105
    #47: https://govnokod.ru/28166 https://govnokod.xyz/_28166
    #48: https://govnokod.ru/28229 https://govnokod.xyz/_28229
    #49: https://govnokod.ru/28298 https://govnokod.xyz/_28298
    #50: https://govnokod.ru/28308 https://govnokod.xyz/_28308
    #51: https://govnokod.ru/28329 https://govnokod.xyz/_28329
    #52: https://govnokod.ru/28340 https://govnokod.xyz/_28340
    #53: (vanished) https://govnokod.xyz/_28346
    #54: https://govnokod.ru/28353 https://govnokod.xyz/_28353
    #55: https://govnokod.ru/28361 https://govnokod.xyz/_28361
    #56: https://govnokod.ru/28383 https://govnokod.xyz/_28383
    #57: https://govnokod.ru/28411 https://govnokod.xyz/_28411
    #58: https://govnokod.ru/28454 https://govnokod.xyz/_28454
    #59: https://govnokod.ru/28472 https://govnokod.xyz/_28472
    #60: https://govnokod.ru/28540 https://govnokod.xyz/_28540
    #61: https://govnokod.ru/28548 https://govnokod.xyz/_28548
    #62: https://govnokod.ru/28555 https://govnokod.xyz/_28555
    #63: https://govnokod.ru/28573 https://govnokod.xyz/_28573
    #64: https://govnokod.ru/28584 https://govnokod.xyz/_28584

    nepeKamHblu_nemyx, 12 Февраля 2023

    Комментарии (428)
  10. Куча / Говнокод #28574

    −1

    1. 1
    IT Оффтоп #166

    #136: https://govnokod.ru/27845 https://govnokod.xyz/_27845
    #137: https://govnokod.ru/27857 https://govnokod.xyz/_27857
    #138: https://govnokod.ru/27867 https://govnokod.xyz/_27867
    #139: https://govnokod.ru/27887 https://govnokod.xyz/_27887
    #140: https://govnokod.ru/27900 https://govnokod.xyz/_27900
    #141: https://govnokod.ru/27914 https://govnokod.xyz/_27914
    #142: https://govnokod.ru/27942 https://govnokod.xyz/_27942
    #143: https://govnokod.ru/27960 https://govnokod.xyz/_27960
    #144: https://govnokod.ru/27972 https://govnokod.xyz/_27972
    #145: https://govnokod.ru/27996 https://govnokod.xyz/_27996
    #146: https://govnokod.ru/28008 https://govnokod.xyz/_28008
    #147: https://govnokod.ru/28049 https://govnokod.xyz/_28049
    #148: https://govnokod.ru/28087 https://govnokod.xyz/_28087
    #149: https://govnokod.ru/28136 https://govnokod.xyz/_28136
    #150: https://govnokod.ru/28157 https://govnokod.xyz/_28157
    #151: https://govnokod.ru/28209 https://govnokod.xyz/_28209
    #152: https://govnokod.ru/28217 https://govnokod.xyz/_28217
    #153: https://govnokod.ru/28232 https://govnokod.xyz/_28232
    #154: https://govnokod.ru/28275 https://govnokod.xyz/_28275
    #155: https://govnokod.ru/28281 https://govnokod.xyz/_28281
    #156: https://govnokod.ru/28322 https://govnokod.xyz/_28322
    #157: https://govnokod.ru/28344 https://govnokod.xyz/_28344
    #158: https://govnokod.ru/28366 https://govnokod.xyz/_28366
    #159: https://govnokod.ru/28391 https://govnokod.xyz/_28391
    #160: https://govnokod.ru/28434 https://govnokod.xyz/_28434
    #161: https://govnokod.ru/28449 https://govnokod.xyz/_28449
    #162: https://govnokod.ru/28477 https://govnokod.xyz/_28477
    #163: https://govnokod.ru/28501 https://govnokod.xyz/_28501
    #164: https://govnokod.ru/28527 https://govnokod.xyz/_28527
    #165: https://govnokod.ru/28557 https://govnokod.xyz/_28557

    nepeKamHblu_nemyx, 26 Января 2023

    Комментарии (426)
  11. Куча / Говнокод #28411

    0

    1. 1
    Пиздец-оффтоп #57

    #27: https://govnokod.ru/27572 https://govnokod.xyz/_27572
    #28: https://govnokod.ru/27580 https://govnokod.xyz/_27580
    #29: https://govnokod.ru/27738 https://govnokod.xyz/_27738
    #30: https://govnokod.ru/27751 https://govnokod.xyz/_27751
    #31: https://govnokod.ru/27754 https://govnokod.xyz/_27754
    #32: https://govnokod.ru/27786 https://govnokod.xyz/_27786
    #33: https://govnokod.ru/27801 https://govnokod.xyz/_27801
    #34: https://govnokod.ru/27817 https://govnokod.xyz/_27817
    #35: https://govnokod.ru/27822 https://govnokod.xyz/_27822
    #36: https://govnokod.ru/27826 https://govnokod.xyz/_27826
    #37: https://govnokod.ru/27827 https://govnokod.xyz/_27827
    #38: https://govnokod.ru/27833 https://govnokod.xyz/_27833
    #39: https://govnokod.ru/27862 https://govnokod.xyz/_27862
    #40: https://govnokod.ru/27869 https://govnokod.xyz/_27869
    #41: https://govnokod.ru/27933 https://govnokod.xyz/_27933
    #42: (vanished) https://govnokod.xyz/_27997
    #43: https://govnokod.ru/28042 https://govnokod.xyz/_28042
    #44: https://govnokod.ru/28080 https://govnokod.xyz/_28080
    #45: https://govnokod.ru/28086 https://govnokod.xyz/_28086
    #46: https://govnokod.ru/28105 https://govnokod.xyz/_28105
    #47: https://govnokod.ru/28166 https://govnokod.xyz/_28166
    #48: https://govnokod.ru/28229 https://govnokod.xyz/_28229
    #49: https://govnokod.ru/28298 https://govnokod.xyz/_28298
    #50: https://govnokod.ru/28308 https://govnokod.xyz/_28308
    #51: https://govnokod.ru/28329 https://govnokod.xyz/_28329
    #52: https://govnokod.ru/28340 https://govnokod.xyz/_28340
    #53: (vanished) https://govnokod.xyz/_28346
    #54: https://govnokod.ru/28353 https://govnokod.xyz/_28353
    #55: https://govnokod.ru/28361 https://govnokod.xyz/_28361
    #56: https://govnokod.ru/28383 https://govnokod.xyz/_28383

    nepeKamHblu_nemyx, 09 Октября 2022

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