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

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    public int hashCode() {
            HashCode h = new HashCode();
            h.addValue(mFirst);
            h.addValue(mSecond);
            return h.hashCode();
        }

    Наалоцируем даже там, где нужны только примитивы

    https://github.com/Netflix/netflix-commons/blob/519178a/netflix-commons-util/src/main/java/com/netflix/util/Pair.java#L119-L124

    Tike, 29 Июня 2023

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

    +1

    1. 1
    Приватный дневник-тред, который никто не прочтёт, чтобы писать сюда всякие секреты.

    Это место для тех, кто устал от публичности социальных сетей.
    Здесь можно взять любой логин, не указывая настоящего имени,
    вести свой дневник, закрыв его от части или всего виртуального
    мира. До 75% записей на сайте подзамочные — для избранных
    читателей. Можно писать в тред, который кроме вас вообще
    никто не прочтет.

    JloJle4Ka, 20 Июня 2023

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

    +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
    // https://github.com/torvalds/linux/blob/b6dad5178ceaf23f369c3711062ce1f2afc33644/rust/alloc/alloc.rs#L376
    pub const fn handle_alloc_error(layout: Layout) -> ! {
        const fn ct_error(_: Layout) -> ! {
            panic!("allocation failed");
        }
    
        fn rt_error(layout: Layout) -> ! {
            unsafe {
                __rust_alloc_error_handler(layout.size(), layout.align());
            }
        }
    
        unsafe { core::intrinsics::const_eval_select((layout,), ct_error, rt_error) }
    }
    
    
    // https://github.com/torvalds/linux/blob/b6dad5178ceaf23f369c3711062ce1f2afc33644/rust/kernel/lib.rs#L96-L103
    fn panic(info: &core::panic::PanicInfo<'_>) -> ! {
        pr_emerg!("{}\n", info);
        // SAFETY: FFI call.
        unsafe { bindings::BUG() };
        // Bindgen currently does not recognize `__noreturn` so `BUG` returns `()`
        // instead of `!`. See <https://github.com/rust-lang/rust-bindgen/issues/2094>.
        loop {}
    }
    
    
    // https://github.com/torvalds/linux/blob/master/include/asm-generic/bug.h#L51-L68
    /*
     * Don't use BUG() or BUG_ON() unless there's really no way out; one
     * example might be detecting data structure corruption in the middle
     * of an operation that can't be backed out of.  If the (sub)system
     * can somehow continue operating, perhaps with reduced functionality,
     * it's probably not BUG-worthy.
     *
     * If you're tempted to BUG(), think again:  is completely giving up
     * really the *only* solution?  There are usually better options, where
     * users don't need to reboot ASAP and can mostly shut down cleanly.
     */
    #ifndef HAVE_ARCH_BUG
    #define BUG() do { \
    	printk("BUG: failure at %s:%d/%s()!\n", __FILE__, __LINE__, __func__); \
    	barrier_before_unreachable(); \
    	panic("BUG!"); \
    } while (0)
    #endif

    О том, как в ядре Linux говнораст обрабатывает ошибку аллокации

    j123123, 19 Июня 2023

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

    +1

    1. 1
    2. 2
    3. 3
    // Всем привет. Я тоже принёс говнокода, но в необычном формате.
    // А именно, я написал мини-книгу "60 антипаттернов для С++ программиста".
    // https://pvs-studio.ru/ru/blog/posts/cpp/1053/

    Там вы найдёте и реальный C++ говнокод и просто вредные советы в духе "Пишите код так, как будто его будет читать председатель жюри IOCCC и он знает, где вы живёте (чтоб приехать и вручить вам приз)".

    Если сразу не понятно почему "совет" вреден, то там есть соответствующий разбор.

    Готов подискутировать про написанное. Ну и приглашаю накидывать в комментариях аналогичные советы.

    P.S. Предупреждаю: там много букв. Сразу запасайтесь кофе/энергетиком. Или попкорном :)

    Andrey_Karpov, 15 Июня 2023

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

    +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
    Функция СоответствиеСодержитКлюч(Соответствие, Ключ)
        
        Если НЕ Соответствие[Ключ] = Неопределено Тогда
            Возврат Истина;
        КонецЕсли;
        
        КоличествоЭлементов = Соответствие.Количество();
        Соответствие.Удалить(Ключ);
        
        Если КоличествоЭлементов = Соответствие.Количество() Тогда
            Возврат Ложь;
        КонецЕсли;
        
        Соответствие.Вставить(Ключ);
        Возврат Истина;
        
    КонецФункции

    Как тебе такое Илон (зачеркнуто) Нуралиев?!

    hujaboy, 16 Мая 2023

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

    +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
    if(pfocus=="Balanced")
    		if(StatRank>=4)
    			if(Age>=4&&Age<=10)
    				Str+=0.4*StrMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				End+=0.4*EndMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				Spd+=0.4*SpdMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				Base_BP+=1*BPMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				MaxKi+=1*KiMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    			else
    				Str+=4*StrMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				End+=4*EndMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				Spd+=4*SpdMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				Base_BP+=1*BPMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				MaxKi+=1*KiMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    			if(Age>=10&&Age<=15)
    				Str+=0.4*StrMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				End+=0.4*EndMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				Spd+=0.4*SpdMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				Base_BP+=1*BPMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				MaxKi+=1*KiMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    			else
    				Str+=4*StrMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				End+=4*EndMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				Spd+=4*SpdMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				Base_BP+=1*BPMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				MaxKi+=1*KiMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    			if(Age>=15&&Age<=20)
    				Str+=0.4*StrMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				End+=0.4*EndMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				Spd+=0.4*SpdMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				Base_BP+=1*BPMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				MaxKi+=1*KiMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    			else
    				Str+=4*StrMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				End+=4*EndMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				Spd+=4*SpdMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				Base_BP+=1*BPMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				MaxKi+=1*KiMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    			if(Age>=20&&Age<=25)
    				Str+=0.4*StrMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				End+=0.4*EndMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				Spd+=0.4*SpdMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				Base_BP+=1*BPMod*timemult*StatRank*HBTCMod*World_Stat_Mod
    				MaxKi+=1*KiMod*timemult*StatRank*HBTCMod*World_Stat_Mod

    и далее ещё 300 строк такого говна. я не думал, что кроме мемов, ещё когда-нибудь с таким столкнусь

    kcalbCube, 09 Апреля 2023

    Комментарии (806)
  8. Java / Говнокод #28658

    +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
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    Statement stmt1 = null;
            ResultSet rs1 = null;
         
            try {
                StringBuilder sb = new StringBuilder(2000);
                String sql = "";
                String ss = "";
                String ss_begin = "";
                String ss_middle = "";
                String ss_end = "";
                int xcount = 0;
                String XXX_ID = "";
                String XXX_NAME = "";
    
    
                if (c.XLANG_ID == 1) {
                    sql = sql + " SELECT  99 , 'Исходные'  FROM dual union all ";
                    sql = sql + " SELECT  1 , 'Непарные исходные'  FROM dual union all ";
                    sql = sql + " SELECT  2 , 'Временная'            FROM dual union all ";
                    sql = sql + " SELECT  3 , 'Встречные'         FROM dual ";
                    //sql = sql +  " SELECT  4 , 'Непарные встречные'         FROM dual ";
                } else if (c.XLANG_ID == 2) {
                    sql = sql + " SELECT  99 , 'Base BPEBs' FROM dual union all ";
                    sql = sql + " SELECT  1 , 'Base BPEBs unpaired' FROM dual union all ";
                    sql = sql + " SELECT  2 , 'Temporary BPEB' FROM dual union all ";
                    sql = sql + " SELECT  3 , 'Generated BPEBs' FROM dual ";
                    //sql = sql +  " SELECT  4 , 'Generated BPEBs unpaired' FROM dual ";
                }
    
                stmt1 = this.con.createStatement();
                rs1 = stmt1.executeQuery(sql);
    
                while (rs1.next()) {
                    xcount = xcount + 1;
                    XXX_ID = rs1.getString(1);
                    XXX_NAME = rs1.getString(2);
    
                    sb = sb.append("<msg>")
                            .append("<xid>").append(XXX_ID).append("</xid>")
                            .append("<xname>").append(vtb.budget.osa.tools.Tools.stringToXML(XXX_NAME)).append("</xname>")
    
                            .append("</msg>");
                }
                rs1.close();
                stmt1.close();
    
                ss_begin = ss_begin + "<xml id='XML_table1'>"
                        + "<tab1>";
    
                ss_end = ss_end
                        + "</tab1>"
                        + "</xml>";
    
                if (xcount == 0) {
                    ss_middle = ss_middle + "<msg>"
                            + "<xid></xid>"
                            + "<xcode></xcode>"
                            + "<xname></xname>"
                            + "</msg>";
                } else {
                    ss_middle = sb.toString();
                }
    
    
                ss = ss_begin + ss_middle + ss_end;
    
                ss_begin = null;
                ss_middle = null;
                ss_end = null;
                sb = null;
    
    
                return ss;
    
            }

    yamert89, 04 Апреля 2023

    Комментарии (35)
  9. JavaScript / Говнокод #28650

    +1

    1. 1
    https://pastebin.com/MarcPuJc

    говно для подтирания важных комментов в вк. Весь не поместился, прилегаю ссылку.

    AnimeGovno, 26 Марта 2023

    Комментарии (5)
  10. JavaScript / Говнокод #28649

    +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
    private async getNewKey(): Promise<string> {
    		let i: number = 0;
    		let key: string;
    		while (i < 50000) {
    			key = this.generateKey(MIN_REFERRAL_NAME_LENGTH);
    			const inDatabase: number = await ReferralEntity.count({ where: { name: key }, transaction: this._transaction });
    			if (inDatabase === 0) {
    				const inProcess: boolean = newKeyInProcess.has(key);
    				if (!inProcess) {
    					newKeyInProcess.add(key);
    					break;
    				}
    			}
    			i++;
    		}
    		return key;
    	}

    Тайпскрипт. MIN_REFERRAL_NAME_LENGTH = 3
    Как считаете, когда всё приложение встанет колом?

    alek0585, 26 Марта 2023

    Комментарии (2)
  11. Pascal / Говнокод #28644

    +1

    1. 1
    В одном из минувших топиков приподымали тему POP SMDб я тоже решил напейсать генератор паролей к этой игре.

    https://pastebin.com/ANHTMmeM

    на основе исходников roman-pro

    Support, 20 Марта 2023

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