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

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

    +2

    1. 1
    2. 2
    https://habr.com/ru/post/501798/
    > C++/Qt: пора валить?.

    Выбор небогат – это PHP. Да, я сказал PHP. И мне не стыдно.

    Ещё раз напомню, о каком типе приложений идёт речь: о тех, где сложная логика, требующая вычислительной производительности, реализована на C/C++, а к ним в пару нам нужен как можно более простой открытый язык/экосистема для общения с внешним миром и связи компонентов между собой. А если будет C-подобный синтаксис – вообще хорошо. И тут мы ставим галочки напротив каждого пункта наших требований.

    Главное – PHP прост. При том круге задач, которые он (и экосистема) может решать — он божественно прост. И дело не только в когнитивной нагрузке при кодинге и переключении контекста. Простота ещё и в развёртывании, администрировании и минимальном количестве вариантов, которыми можно решить одну задачу.
    PHP медленно, без резких движений, ползёт в правильную сторону, от увеличения производительности в 3 раза, до строгой типизации, решая задачи простым способом. И обрастая по пути крутыми штуками типа Swoole.
    PHP реализовал офигенский FFI (foreign function interface) к C. Офигенский в том контексте, о котором идёт речь — сочетании простоты и возможностей. Вы только наберите в гугле «PHP: Basic FFI usage».
    В PHP кругом $, а кто по нынешнему курсу их не любит...
    PHP быстрый. Да. Могу по слогам: бы-стрый. Для своей простоты и задач он божественно быстрый.

    j123123, 20 Мая 2020

    Комментарии (83)
  3. C# / Говнокод #26275

    −4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public static unsafe int Strlen(byte* data)
    {
                int i = 0;
                while (data[i] != 0)
                {
                    ++i;
                }
                return i;
    }

    Работа с C строками

    Koshak90, 20 Декабря 2019

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

    0

    1. 1
    А вот операторов сравнения между всеми типами умных указателей, я как понял, нету, и даже по стандарту.

    OlegUP, 21 Октября 2019

    Комментарии (83)
  5. PHP / Говнокод #25769

    +3

    1. 1
    2. 2
    $this->imageurl      = str_replace('http' , 'https', (string)$data['imageurl']);
    $this->largeimageurl = str_replace('http' , 'https', (string)$data['largeimageurl']);

    striker, 20 Августа 2019

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

    +2

    1. 1
    https://github.com/klacke/yaws/blob/ba31d14a24842e047e7fa856257df6e3f994ac96/src/yaws_api.erl#L2596

    Сертификат сменился? А давайте пол-ноды ёбнем

    CHayT, 06 Ноября 2018

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

    −4

    1. 1
    Technical post.

    Технический пост для работы говнофорума.

    gvforum, 30 Сентября 2018

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

    +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
    #include <malloc.h>
    #include <string.h>
    
    void print( void **p, int n ) {
    	int i = 0;
    	for(; i < n; ++i ) {
    		printf( "%x ", *( p + i ) );
    	}
    	printf( "\n" );
    }
    
    void get( void** pp, void** p ) {
    	*p = *pp;
    }
    
    void set( void** pp, void **p ) {
    	*pp = *p;
    }
    
    int main() {
    	printf( "sizeof: void* = %d, void** = %d\n", sizeof( void* ), sizeof( void** ) );
    
    	void ** pv = malloc( sizeof( void* ) * 8 ), **pp2;
    	memset( pv, 1, 8 * sizeof( void* ) );
    	printf( "pv = %x\n", pv );
    	print( pv, 8 );
    	
    	pp2 = pv + 2 * sizeof( void** );
    	void *p = (void*)0x01020304c, *p2  = p;
    	*pp2 = p;
    
    	printf( "pv = %x, pp2 = %x, p=%x, p2 = %x\n", pv, pp2, p, p2 );
    
    	get( pv + 1, &p );
    	printf( "result get( pv + 1, &p ) -> *( pv + 1 ) = %x, p = %x\n", *( pv + 1 ), p );
    	
    	set( pv + 2, &p2 );
    	printf( "result set( pv + 2 *, p2 ) ->  *( pv + 2 ) = %x, p2 = %x\n",  *( pv + 2 ), p2 );
    	print( pv, 8 ); 
    
    	free( pv );
    	return 0;
    }

    Просто оставлю это здесь, на будущее.
    О том, как работать с void**.

    OlegUP, 07 Сентября 2018

    Комментарии (83)
  9. Python / Говнокод #24626

    +4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    def lookup(self, code):
            """
            Looks up code in Redis
            Returns None on failure
            """
            url = self.redis.get(code)
            try:
                pass
            except:
                url = None
            return url

    Вот такое на полном серьезе получили как кусочек домашнего задания для соискателя на Senior Python Engineer

    Flid, 16 Августа 2018

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

    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
    Давным-давно( сегодня, неск. часов назад )
    В одной уютной-приуютной группке( https://vk.com/topic-30666517_29088463?post=448559 ), 
    Разумеется, даже нифига не в предназначенной для этого ветке, 
    Очередной "отче программирования, ментор и просто_великий_гуру"(тм), 
    Ну_так_уж_и_быть, соизволил искать себе паству, да всерьёз гитхабами мериться.
    
    https://github.com/AndreyMashukov?tab=repositories
    
    
    Посоны, я, кнчн., всё понимаю( аки пьос, Гы ), но.. 
    Разве "Это норма"(тм) всерьёз вываливать в репозитории дерьмо вида:
    
    Целый_распрекрасный_класс_для_сравнения_мать_их_двух_строчек_текста:
    https://github.com/AndreyMashukov/comparison
    В этой срани многие десятки папок и файлов разных расширений
    Даже какие-то говнотесты затолкнуты..
    И всё это для целого_мать_его_говнокласса( 180 строк )_что_сравнивает_ровно_две_ср.ных_строки !

    К сожалению, такие объёмы дерьма даже на Говонокод одним "заходом" не уместятся.

    Ситуацию сильно упростило хотя бы наличие возможности норм вставить скрины и ссылки, но.. крч., итааксойдёт

    п.с: не покидает ощущение, что лучше вообще быть без гитхаба, чем иметь такой - будто бы, есть вероятность даже не до нуля скатиться при поиске серьёзной работы и конторы, а, даже в "минус" уйти ( т.е с ним шансов даже меньше, чем вообще без него ).

    sam, 07 Октября 2017

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

    +3

    1. 1
    ^[\s\u200c]+|[\s\u200c]+$

    Стековерфло не могут в регулярные выражения или регулярные выражения не могут в простейшую задачу?
    http://stackstatus.net/post/147710624694/outage-postmortem-july-20-2016

    kipar, 23 Июля 2016

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