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

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

    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
    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
    template <typename T, typename... Ts>
    struct StructureChain : T, StructureChain<Ts...>
    {
    	StructureChain(const T &t, const Ts&... a) : T(t), StructureChain<Ts...>(a...)
    	{
    		((T*)this)->pNext = (StructureChain<Ts...>*)this;
    	}
    };
    
    template <typename T>
    struct StructureChain<T> : T
    {
    	StructureChain(const T &t) : T(t){}
    };
    
    // Positional arguments? Im my C++?  It's more likely than you think!
    template<typename T>
    struct SetterFunc;
    template<typename T, typename V>
    struct SetterVal
    {
    	const SetterFunc<T> &func;
    	const V &val;
    	SetterVal(const SetterFunc<T> &f, const V &v) : func(f), val(v){}
    };
    template<typename T>
    struct SetterFunc
    {
    	const T &func;
    	SetterFunc(const T &data)
    		: func(data)
    	{}
    	template <typename V>
    	SetterVal<T,V> operator() (const V &v) {return SetterVal(*this,v);}
    	template <typename V>
    	SetterVal<T,V> operator= (const V &v) {return SetterVal(*this,v);}
    };
    
    template <typename T, typename... Ts>
    void FillStructure(T &t, const Ts&... ts)
    {
    	auto filler = [](T &t, const auto &arg){
    		auto T::*ptr = arg.func.func(t);
    		t.*ptr = arg.val;
    	};
    	(filler(t,ts),...);
    }
    // todo: remove extra unused copy
    #define $(k) SetterFunc([](auto a){return &decltype(a)::k;})
    
    template <typename T, typename... Ts>
    T $M(T t, const Ts&... ts)
    {
    	FillStructure(t, ts...);
    	return t;
    }
    // ...
    		VkSubresourceLayout layout = {0};
    		layout.rowPitch = pitch1;
    
    		StructureChain iinfo{
    			$M(VkImageCreateInfo{VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO},
    			   $(imageType) = VK_IMAGE_TYPE_2D,
    			   $(format) = p010?VK_FORMAT_R16_UNORM:VK_FORMAT_R8_UNORM,
    			   $(extent) = VkExtent3D{ WIDTH, HEIGHT, 1 },
    			   $(mipLevels) = 1,
    			   $(arrayLayers)= 1,
    			   $(samples) =VK_SAMPLE_COUNT_1_BIT,
    			   $(tiling) = VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT,
    			   $(usage) = VK_IMAGE_USAGE_STORAGE_BIT,
    			   $(sharingMode) = VK_SHARING_MODE_EXCLUSIVE
    			   ),
    			$M(VkExternalMemoryImageCreateInfo{VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO},
    			   $(handleTypes) = VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT
    			   ),
    			$M(VkImageDrmFormatModifierExplicitCreateInfoEXT{VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT},
    			   $(drmFormatModifierPlaneCount) = 1,
    			   $(drmFormatModifier) =  mod,
    			   $(pPlaneLayouts) = &layout
    			)
    		};
    		VK_CHECK_RESULT(vkCreateImage(dev.device, &iinfo, NULL, &texture0.image)); // create image.

    Positional arguments? Im my C++? It's more likely than you think!

    mittorn, 15 Октября 2024

    Комментарии (2)
  3. Python / Говнокод #28929

    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
    if "=" in cell_content:
                command["relation"] = "eq"
            elif "≠" in cell_content or "!=" in cell_content:
                command["relation"] = "ne"
            elif "<" in cell_content or "<" in cell_content:
                command["relation"] = "lt"
            elif "≤" in cell_content:
                command["relation"] = "le"
            elif ">" in cell_content or ">" in cell_content:
                command["relation"] = "gt"
            elif "≥" in cell_content:
                command["relation"] = "ge"

    Не, ну а как еще-то

    youjin1985, 14 Марта 2024

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    for(int i = 0; i < p.mDict.TblSize; i++)
    		for(auto *node = p.mDict.table[i]; node; node = node->n)
    			for(int j = 0; j < node->v.TblSize; j++)
    				for(int k = 0; k < node->v.table[j].count; k++ )
    					if(node->v.table[j][k].v)
    						Log("Section %s: unused config key %s = %s\n", node->k, node->v.table[j][k].k, node->v.table[j][k].v);

    mittorn, 14 Марта 2024

    Комментарии (2)
  5. Си / Говнокод #28887

    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
    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
    #include <windows.h>
    
    #define PL 7	//длинна пароля
    
    const char F[] = "`1234567890-=\\qwertyuiop[]asdfghjkl;'zxcvbnm,./";
    const char N[] = "1`2q1qw32we43er54rt65ty76yu87ui98io09op-0p[=-[]\\=]12wa23esaq34rdsw45tfde56ygfr67uhgt78ijhy89okju90plki0-[;lo-=]';p=\\'[qwszwedxzaerfcxsrtgvcdtyhbvfyujnbguikmnhiol,mjop;.,kp['/.l[]/;asxsdczxdfvcfgbvghnbhjmnjk,mkl.,l;/.;'";
    const char L[] = { 1, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, 3, 4, 4, 4, 4, 4, 4, 4, 4, 3 };
    
    struct _
    {
    	char P[PL + 1];
    	BYTE I[256], O[48];
    };
    
    void __stdcall $(int n, char c, _ *X)
    {
    	X->P[n++] = c;
    	for (int i = 0; n < PL && i < L[X->I[c]]; $(n, N[X->O[X->I[c]] + i++], X));
    	for (int i = 0, d = 0, l = 0, s = 0; n == PL && i < n; (X->P[i] >= '0' && X->P[i] <= '9') ? d++ : (X->P[i] >= 'a' && X->P[i] <= 'z') ? l++ : s++, (d && l && s) ? _lwrite(-11, X->P, ++n), i = n : i++);
    }
    
    void main()
    {
    	_ w;
    
    	w.P[PL] = '\n';
    
    	for (int i = 0; i < 47; w.I[F[i]] = i, w.O[i] = i ? w.O[i - 1] + L[i - 1] : 0, i++);
    	for (int i = 0; i < 47; $(0, F[i++], &w));
    }

    Генератор сложных (буквы, цифры, символы) паролей с выводом в консоль.
    Выводит ВСЕ пароли заданной длинны, которые можно ввести по соседним клавишам без шифта. Всякие лесенки, зигзаги и т.п., т.е. все плохие...
    В main переименовал, чтоб скомпилировать. Релизный exe-шник сразу стёр антивирус, сказал Trojan:Win32/Wacatac.B!ml
    Обфускаторы рулят :)

    sprog, 06 Декабря 2023

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    const uint8_t DexFile::kDexMagic[] = { 'd', 'e', 'x', '\n' };
    const uint8_t DexFile::kDexMagicVersions[DexFile::kNumDexVersions][DexFile::kDexVersionLen] = {
      {'0', '3', '5', '\0'},
      // Dex version 036 skipped because of an old dalvik bug on some versions of android where dex
      // files with that version number would erroneously be accepted and run.
      {'0', '3', '7', '\0'}
    };

    Отсюдова:
    https://android.googlesource.com/platform/art/+/refs/heads/nougat-release/runtime/dex_file.cc

    ropuJIJIa, 26 Августа 2023

    Комментарии (2)
  7. Python / Говнокод #28652

    0

    1. 1
    https://gitlab.com/muzena/iptv/-/blob/master/usr/lib/astronciaiptv/astroncia_iptv.py

    тут каждая строчка - это говнокод

    ACTPE9I, 27 Марта 2023

    Комментарии (2)
  8. 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)
  9. C# / Говнокод #28648

    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
    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
    protected override Detail GetDetailPage(
                aggregate aggregate, 
                int cashbackRate,
                BannerResponse bannerInfo,
                List<MediaShortResponse> mediaInfo,
                EntityFavourites likeCountInfo, 
                List<FavouriteEntity> likeInfo)
            {
                var announcementDetail = new Detail
                (
                    aggregate.Details.Id,
                    aggregate.Details.Alias,
                    aggregate.Details.Title,
                    aggregate.Details.Description,
                    aggregate.Details.DescriptionShortcut,
                    aggregate.Details.Age,
                    aggregate.ExtendedDetails.DataSourceId,
                    aggregate.ExtendedDetails.DataSourceItemId,
                    cashbackRate,
                    null,
                    aggregate.ExtendedDetails.LastEventDateTime,
                    aggregate.ExtendedDetails.EventClosestDateTime,
                    aggregate.ExtendedDetails.Url,
                    aggregate.ExtendedDetails.Category != null
                        ? new AnnouncementCategory(aggregate.ExtendedDetails.Category.Id, 
                            aggregate.ExtendedDetails.Category.Title,
                            aggregate.ExtendedDetails.Category.Url)
                        : null,
                    aggregate.ExtendedDetails.Tags?.Select(ss =>
                        new Tag(ss.Title, HttpUtility.UrlPathEncode(ss.Url))
                    ).ToList(),
                    aggregate.Details.Privileges?.Select(ss => new Privilege()
                    {
                        Description = ss.Description,
                        Id = ss.Id,
                        ImageUrl = ss.ImageUrl.ToString(),
                        Title = ss.Title
                    }).ToList(),
                    mediaInfo.Select(m => new Media
                    {
                        Type = m.Type,
                        Url = m.Url
                    }).ToList(),
                    aggregate.ExtendedDetails.EventMinPrice,
                    likeInfo.FirstOrDefault(x => x.EntityId == aggregate.Details.Id)?.IsSet ?? false,
                    likeCountInfo?.TotalCount,
                    aggregate.ExtendedDetails.Promotext,
                    bannerInfo != null ? new Banner { Url = bannerInfo.Url, ImageUrl = bannerInfo.ImageUrl } : null,
                    aggregate.Details.Venue != null
                        ? new ShortVenue(aggregate.Details.Venue.Id,
                            aggregate.Details.Venue.Title,
                            aggregate.Details.Venue.Url.Replace(_liveBaseAddress, ""),
                            aggregate.Details.Venue.Address)
                        : null,
                    (AnnouncementStatus)aggregate.Details.Status,
                    aggregate.ExtendedDetails.PremiumRule,
                    aggregate.Details.HasPrivilegeEnabled,
                );
    
                return announcementDetail;
     }

    tfnbupsc, 24 Марта 2023

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

    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
    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
    namespace ParticleAccelSim
    {
        public class Particle
        {
            public double X { get; set; } // координата частицы по оси x
            public double Y { get; set; } // координата частицы по оси y
            public double VX { get; set; } // скорость частицы по оси x
            public double VY { get; set; } // скорость частицы по оси y
            public double Mass { get; set; } // масса частицы
            public double Charge { get; set; } // заряд частицы
    
            public Particle(double x, double y, double vx, double vy, double mass, double charge)
            {
                X = x;
                Y = y;
                VX = vx;
                VY = vy;
                Mass = mass;
                Charge = charge;
            }
        }
    	
        public class ParticleAccelerator
        {
            private List<Particle> particles = new List<Particle>(); // список всех частиц
            private double timeStep = 0.01; // размер шага при моделировании
    
            public void AddParticle(Particle p)
            {
                particles.Add(p);
            }
    
            public void RunSimulation(int numSteps)
            {
                for (int i = 0; i < numSteps; i++)
                {
                    foreach (Particle p in particles)
                    {
                        // вычисляем силы, действующие на частицу
                        double ax = 0;
                        double ay = 0;
    
                        foreach (Particle other in particles)
                        {
                            if (other != p)
                            {
                                double dx = other.X - p.X;
                                double dy = other.Y - p.Y;
                                double r = Math.Sqrt(dx * dx + dy * dy);
                                double f = (p.Charge * other.Charge) / (r * r); // закон Кулона
    
                                ax += f * dx / r;
                                ay += f * dy / r;
                            }
                        }
    
                        // вычисляем новое положение и скорость частицы
                        p.VX += ax * timeStep / p.Mass;
                        p.VY += ay * timeStep / p.Mass;
                        p.X += p.VX * timeStep;
                        p.Y += p.VY * timeStep;
                    }
                }
            }
        }
    }

    Исходный код симулятора ускорителя частиц, например "Большой адронный коллайдер". Просьба не запускать этот код, т.к. я уже пару дней назад запустил, а сегодня уже не могу понять правильно говорить "Возможность этого резиста крайне мала" или "Вероятность этого резиста крайне мала"... ТАК ЧТО БУДЬТЕ ОСТОРОЖНЫ! Можно сломать нашу реальность!

    DartPower, 19 Марта 2023

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

    −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
    if (isset($args['filter']['birthdate'])) {
        $birthdate = $args['filter']['birthdate'];
    
        $filters['birthdate'] = [];
        if (!empty($birthdate['to'])) {
            $filters['birthdate']['$lte'] = $birthdate['to'];
        }
    
        if (!empty($birthdate['from'])) {
            $filters['birthdate']['$gte'] = $birthdate['from'] + 86399;
        }
    }

    нельзя описать то, что уже обоссано

    mahnat, 10 Марта 2023

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