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

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

    −103

    1. 1
    У Страйкера новый бизнес!

    http://govnokod.com/

    Increment_Excrement, 19 Мая 2019

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Гуглил, ничего не нашел.
    Есть ли такая программа (кроме yacc), которой можно подать на вход структуру или класс, а она сгенерит (опционально):
    - парсер конфигов в нужном формате.
    - геттеры\сеттеры приватных полей.
    - методы взаимодействия с БД (запрос\сохранение\удаление\изменение таблиц|записей) а-ля Django Models.
    - ну и прочие удобные плюшки чтобы меньше вбивать код в редактор.
    
    гуглил как "Генераторы исходного кода" ничего толкового не нашел.

    OlegUP, 03 Апреля 2019

    Комментарии (25)
  4. Си / Говнокод #25372

    −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
    // http://p99.gforge.inria.fr/p99-html/group__flexible.html
    
    //C99 allows a flexible array member to be defined as the last member of a struct,
    // namely an array of undetermined length.
    //P99_DECLARE_STRUCT(package_head);
    
    struct package_head {
      char name[20];
      size_t len;
      uint64_t data[];
    };
    
    // Such a struct can then be allocated on the heap with a suitable size such 
    // that the field data has as many elements as fit in the allocated space from
    // the start of data onward. Usually one would allocate such struct with
    
    package_head *a = malloc(sizeof(package_head) + 10 * sizeof(uint64_t));
    package_head *b = malloc(sizeof(*b) + 12 * sizeof(b->data[0]));
    
    // This has several disadvantages. Firstly, the syntax is clumsy. We have to
    // use a relatively complicated expression that uses two elements of the specification of a or b.
    
    // Secondly, it wastes space. Due to packing of the struct the offset of data "inside"
    //  the struct may be less than sizeof(package_head). In most cases the real size
    // of the object that we want to construct is
    
    offsetof(package_head, data) + N * sizeof(uint64_t)
    
    // so we are wasting
    
    sizeof(package_head) - offsetof(package_head, data)
    
    // bytes.
    
    // The above formula for the exact size is only valid for larger values of N. We must
    // also ensure that we allocate at least sizeof(package_head) bytes. So the complete
    // formula looks something like
    
    #define P99_FSIZEOF(T, F, N) P99_MAXOF(sizeof(T), offsetof(T, F) + P99_SIZEOF(T, F[0]) * N)
    
    // which is probably not something that you want to write on a daily basis.
    
    // We provide several interfaces to allocate struct with flexible members

    Херню написали какую-то. Забыли самое главное : нельзя так в лоб аллоцировать память под структуры. Потому что выравнивание может не то быть.
    Надо использовать http://man7.org/linux/man-pages/man3/aligned_alloc.3.html

    j123123, 12 Февраля 2019

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

    +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
    f =: #.@i.~&'.O'@(#~ ~:&LF)
    g =: $~&6 5@:{&'.O'@#:~&(30$2)
    
    'K A O Y B G R RP' =: f each|. (0 : 0); (0 : 0); (0 : 0); (0 : 0); (0 : 0); (0 : 0); (0 : 0); (0 : 0)
    O..O.
    O..O.
    OOO..
    O..O.
    O...O
    O...O
    )
    .OOO.
    O...O
    O...O
    OOOOO
    O...O
    O...O
    )
    .OOO.
    O...O
    O...O
    O...O
    O...O
    .OOO.
    )
    .O.O.
    ..O..
    O...O
    O..OO
    O.O.O
    OO..O
    )
    OOOOO
    O....
    OOOO.
    O...O
    O...O
    OOOO.
    )
    OOOOO
    O....
    O....
    O....
    O....
    O....
    )
    OOOO.
    O...O
    OOOO.
    O....
    O....
    O....
    )
    .O...
    ..O..
    ...O.
    ...O.
    ..O..
    .O...
    )
    
    echo ,./g (,@:(,&0"0)) K,A,K,O,Y,0,B,A,G,O,R,0,3#RP

    O..O.......OOO......O..O.......OOO.......O.O................OOOOO......OOO......OOOOO......OOO......OOOO.................O.........O.........O........
    O..O......O...O.....O..O......O...O.......O.................O.........O...O.....O.........O...O.....O...O.................O.........O.........O.......
    OOO.......O...O.....OOO.......O...O.....O...O...............OOOO......O...O.....O.........O...O.....OOOO...................O.........O.........O......
    O..O......OOOOO.....O..O......O...O.....O..OO...............O...O.....OOOOO.....O.........O...O.....O......................O.........O.........O......
    O...O.....O...O.....O...O.....O...O.....O.O.O...............O...O.....O...O.....O.........O...O.....O.....................O.........O.........O.......
    O...O.....O...O.....O...O......OOO......OO..O...............OOOO......O...O.....O..........OOO......O....................O.........O.........O........

    UPPERCASE, 26 Ноября 2018

    Комментарии (25)
  6. Lua / Говнокод #25016

    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
    class Person {
        protected name: string;
        constructor(name: string) { this.name = name; }
    }
    
    class Employee extends Person {
        private department: string;
    
        constructor(name: string, department: string) {
            super(name);
            this.department = department;
        }
    
        public get ElevatorPitch() {
            return `Hello, my name is ${this.name} and I work in ${this.department}.`;
        }
    }
    
    let howard = new Employee("Howard", "Sales");
    console.log(howard.ElevatorPitch);

    наговнокодил компайлер TypeScript для Lua для тех кто терпеть не может такой говноязык как Lua но в экстазе от говно Vm от Lua 5.3

    https://github.com/ASDAlexander77/TypeScriptLUA

    Закомпили тестовый файл:
    node __out/main.js test.ts

    Теперь можно эту лажу запустить
    lua test.lua

    ASD_77, 24 Октября 2018

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

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Давайте обсудим документацию для программ на GNU/Linux, и документацию MSDN.
    
    Я считаю, что по архитектуре и по документации GNU/Linux намного лучше.
    Потому что в man обычно декларативный стиль, и описывается поведение.
    Если же читать о windows программах -- то я обычно натыкаюсь на тупо гайды, где не описано конкнетно для чего такие действия нужно делать, 
    и как это будет обработано внутренней логикой программы.
    
    Linux -- ОС для разработчиков и инженеров ПО. Windows -- сомневаюсь что нацелена на это.

    OlegUP, 08 Октября 2018

    Комментарии (25)
  8. Си / Говнокод #24818

    −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
    #include <stdio.h>
    #include <locale.h>
    main()
    {
    	setlocale(LC_ALL, "Rus");
    	float lower, medium, upper;
    	lower = 2;
    	medium = 50;
    	upper = 100;
    	float step = 1;
    	printf( "\t\t%s\n\n\n","Температура пукана относительно изучения ЯП (10 лет) ");
    	printf("%s\t\t%s\t\t%s\n","изучение основ","изучение STL" , "делать сайтики на Ассемблере");
    	while (step <= 10)
    	{
    		++step;
    		printf("%.1f\t\t\t%.1f\t\t\t%.1f\n", lower*step, lower*step*5, medium * step*10);
    	}
    	getchar();
    }

    Немного статистики Hot пукана

    __DmitrJ, 26 Сентября 2018

    Комментарии (25)
  9. PHP / Говнокод #24812

    −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
    class MyBigClass
    {
        var $allocatedSize;
        var $allMyOtherStuff;
    }
    
    function AllocateMyBigClass()
    {
        $before = memory_get_usage();
        $ret = new MyBigClass;
        $after = memory_get_usage();
        $ret->allocatedSize = ($after - $before);
    
        return $ret;
    }

    Зачем нам в языке адекватный sizeof, у нас нет времени, чтобы ебаться с ним!

    Подробнее: https://stackoverflow.com/questions/1351855/getting-size-in-memory-of-an-object-in-php

    gost, 25 Сентября 2018

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

    −2

    1. 1
    https://habr.com/post/423889/

    Публикация отхватила неебическое количество плюсов.

    LinuxGovno, 21 Сентября 2018

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

    +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
    #include <stdio.h>
    
    int main()
    {
    
    <?php
        function genputs($s) {
            echo "\tputs(\"$s\");\n";
        }
        function f($i) {
            if ($i >= 5 && $i <= 20 || $i % 10 >= 5 || $i % 10 == 0)
                return "ок";
            elseif ($i % 10 == 1)
                return "ка";
            else
                return "ки";
        }
        $i = 99;
        while ($i >= 1) {
            $s = f($i);
            genputs("$i бутыл$s пива на стене");
            genputs("$i бутыл$s пива!");
            genputs("Возьми одну, пусти по кругу");
            if ($i-- > 1) {
                $s = f($i);
                genputs("$i бутыл$s пива на стене!");
            }
        }
        genputs("Нет бутылок пива на стене!");
    ?>
    
        return 0;
    }

    Когда хочется в Си такой же няшный препроцессор как в FASM'е...

    666_N33D135, 12 Июня 2018

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