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

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

    +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
    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
    public string GenerateKey(int length)
      {
        System.Random random = new System.Random();
        char[] chArray = new char[62]
        {
          'A',
          'B',
          'C',
          'D',
          'E',
          'F',
          'G',
          'H',
          'I',
          'J',
          'K',
          'L',
          'M',
          'N',
          'O',
          'P',
          'Q',
          'R',
          'S',
          'T',
          'U',
          'V',
          'W',
          'X',
          'Y',
          'Z',
          'a',
          'b',
          'c',
          'd',
          'e',
          'f',
          'g',
          'h',
          'i',
          'j',
          'k',
          'l',
          'm',
          'n',
          'o',
          'p',
          'q',
          'r',
          's',
          't',
          'u',
          'v',
          'w',
          'x',
          'y',
          'z',
          '0',
          '1',
          '2',
          '3',
          '4',
          '5',
          '6',
          '7',
          '8',
          '9'
        };
        string str = string.Empty;
        for (int index = 0; index < length; ++index)
          str += (string) (object) chArray[random.Next(0, 35)];
        return str;
      }

    Решил декомпилировать "Копатель Онлайн" ради лулзов.

    AlexGear, 02 Июля 2016

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

    +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
    // Для типа можно вызвать статические методы
    internal bool ЭтоТип;
    // Для перечислений нужно вызывать Enum.Parse(T, name);
    internal bool IsEnum;
    
    // ЭтоExpandoObject тоже отдельно обрабатывается.
    //В дальнейшем реализую поддерку DynamicObject или универсально DynamicMetaObject
    internal bool ЭтоExpandoObject;
    
    // Это анахронизмы от COM
    internal static bool ЭтоСемерка = false;
    internal static bool ВыводитьСообщениеОбОшибке = true;
    internal static Exception ПоследняяОшибка = null;
    
    // Делегат для выделения памяти на стороне неуправляемого кода
    internal static ВыделитьПамятьDelegate ВыделитьПямять;
    //Делегат для сообщения об ошибке в неуправляемый код
    internal static ИнформацияОбОшибкеDelegate ИнформацияОбОшибке;

    https://habrahabr.ru/post/304482
    Здрасте

    cykablyad, 01 Июля 2016

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

    +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
    using static System.Console;
    
    namespace OptimizationDetector
    {
        public static class OptimizationDetector
        {
            private static class pls
            {
                public static bool wtf = true;
            }
    
            private static int rly = detect();
    
            private static int detect()
            {
                pls.wtf = false;
                return 0;
            }
    
            public static bool IsOptimizationEnabled
            {
                get { return pls.wtf; }
            }
        }
    
        class Program
        {
            static void Main(string[] args)
            {
                WriteLine($"\"Optimize code\" is enabled: {OptimizationDetector.IsOptimizationEnabled}");
                ReadKey();
            }
        }
    }

    ОПТИМИЗИРОВАНО

    Kozel, 29 Июня 2016

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

    +5

    1. 1
    2. 2
    3. 3
    Тут недавно оказия вышла. В одном чатике, где были несколько программистов и математик, задали вопрос:
    
    В каком порядке наследование верное целые числа -> рациональные или наоборот?

    laMer007, 22 Июня 2016

    Комментарии (92)
  6. Java / Говнокод #20240

    +5

    1. 1
    public static void main(String[] args) throws SQLException // Arguments args can be found in Run Configurations

    I'm still looking for ..

    nik_lazer, 21 Июня 2016

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

    +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
    public override TItem[] ToArray()
    {
    	TItem[] arr = new TItem[Count];
    	Int64 i = 0;
    	foreach (TItem item in this)
    	{
    		if (i >= Count) break;
    		arr[i] = item;
    		i++;
    	}
    	return arr;
    }

    И пофиг, что foreach и так не даст превысить размер коллекции, всё равно проверим!

    dm_fomenok, 20 Июня 2016

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

    +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
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    template<typename T>
    T* sanitize(T* p)
    {
        return reinterpret_cast<T*>(
          reinterpret_cast<uintptr_t>(p) & ~(alignof(T)-1));
    }
    
    template<typename T>
    constexpr size_t avaliable_width()
    {
      	switch(alignof(T))
        {
          case 1: return 0;
          case 2: return 1;
          case 4: return 2;
          case 8: return 3;
          case 16: return 4;
          case 32: return 5;
          case 64: return 6;
          case 128: return 7;
          case 256: return 8;
          default: return 0;
        }
    }
    
    template<size_t bit, typename T>
    T* set_tag(T* p, bool tagged = true)
    {
      	static_assert(bit < avaliable_width<T>(), "bad_width");
    
    	if(tagged) {
         	return reinterpret_cast<T*>(
            	reinterpret_cast<uintptr_t>(p) | 1 << bit); 
        }
      	return reinterpret_cast<T*>(
          	reinterpret_cast<uintptr_t>(p) & ~(uintptr_t(1) << bit));
    }
    
    template<size_t bit, typename T>
    bool get_tag(T* p)
    {
      	static_assert(bit < avaliable_width<T>(), "bad_width");
      	return reinterpret_cast<uintptr_t>(p) >> bit & 1;
    }

    Младшие биты указателей на выравненные типы всегда нулевые. Из за этого (по формуле Шеннона) указатель несёт в себе меньше информации, оставаясь того же размера. Битоёбов это расстраивает.

    Soul_re@ver, 16 Июня 2016

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

    +5

    1. 1
    2. 2
    int lastletter = MathUtils.random(0, 32);
            letter = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ".substring(lastletter,lastletter+1);

    всё просто и наглядно.

    WaterSmith, 15 Июня 2016

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

    +5

    1. 1
    2. 2
    3. 3
    4. 4
    //If the array is not empty
      if ($files[0] != '') {
        ...
      }

    http://valentinvannay.com/2016/01/07/laravel-5-multiple-files-upload

    binsh, 14 Июня 2016

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

    +5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    $number_of_posts = 1;
    $page_id = $_GET['page'];
    $all_posts_query = "SELECT * FROM `posts` WHERE status = 'publish'";
    $all_posts_run = mysqli_query($con, $all_posts_query);
    $all_posts = mysqli_num_rows($all_posts_run);
    $total_pages = ceil($all_posts / $number_of_posts);
    $posts_start_from = ($page_id - 1) * $number_of_posts;
    
    $query = "SELECT * FROM `posts` WHERE `status` = 'publish' ORDER BY id DESC LIMIT $posts_start_from, $number_of_posts";

    Задача: сделать паджинацию, выжрав максимум ресурсов сервера :))
    Сверхзадача: реализовать выборку по id с помощью LIMIT'а

    DDDeeper, 11 Июня 2016

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