1. JavaScript / Говнокод #24555

    −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
    import Router from 'koa-router';
    import pmongo from 'promised-mongo';
    
    const router = new Router();
    const db = new pmongo('localhost/my-app');
    
    const dataRequired = function *(next) {
      if (typeof this.request.body['data'] === 'object') {
        yield next;
      } else {
        this.throw(400, 'Request data is required');
      }
    };

    Валидация, js-way

    https://github.com/axept/open-parse

    > Our developers have higher professional education and are experts in any of those technology

    Fike, 30 Июля 2018

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

    −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
    #ifdef DEBUG
    static int (*printfn)(FILE *stream, const char *format, ...) = fprintf;
    #else
    static void (*printfn)(int priority, const char *format, ...) = syslog;
    #endif
    
    /* somewhere in getopt() options */
    #ifdef DEBUG
        printfn = noprintf;
    #else
        printfn = nosyslog;
    #endif
    
    /* elsewhere in a common header file */
    #ifdef DEBUG
    #undef LOG_ERR
    #undef LOG_WARNING
    #undef LOG_INFO
    #define LOG_ERR stderr
    #define LOG_WARNING stderr
    #define LOG_INFO stderr
    #endif
    
    void nosyslog(int priority, const char *format, ...)
    {
        (void)priority;
        (void)format;
    }
    
    int noprintf(FILE *stream, const char *format, ...)
    {
        (void)stream;
        (void)format;
        return 0;
    }

    А попроще способа для --quiet / -DDEBUG нету?

    codemonkey, 29 Июля 2018

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

    +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
    copy(v) char *v; {	/* copy ctokn to v */
    	char *p;
    
    	p=ctokn;
    	while( *v++ = *p++ );
    	}
    
    compare(v) char *v; {	/* compare ctokn with v */
    	char *p;
    
    	for( p=ctokn; ; ++p ){
    		if( *p != *v++ ) return( 0 );
    		if( *p == 0 ) return(1);
    		}
    	}
    
    int *yalloc(n){ /* allocate n+1 words from vector mem */
    	int *omem;
    	omem = mem;
    	mem =+ n+1;
    	if(mem-mem0 >= memsiz) error("memory overflow");
    	return(omem);
    	}
    
    aryfil( v, n, c ) int *v,n,c; { /* set elements 0 through n-1 to c */
      int i;
      for( i=0; i<n; ++i ) v[i] = c;
      }
    
    union( a, b, c ) int *a, *b, *c; {
      /* set a to the union of b and c */
      /* a may equal b */
      /* return 1 if c is not a subset of b, 0 otherwise */
    
      _REGISTER int i, x, sub;
    
      sub = 0;
      for( i=0; i<tbitset; ++i ){
        x = b[i] | c[i];
        if( x != b[i] ) sub=1;
        a[i] = x;
        }
      return( sub );
      }
    
    prlook( pp ) int *pp;{
    	int j;
    	pp = pp->lset;
    	if( pp == 0 ) printf("\tNULL");
    	else {
    		printf(" { " );
    		for( j=1; j<=nterms; ++j ){
    			if( (pp[j>>4]>>(j&017) )&01 != 0 ) printf( "%s ", symnam(j) );
    			}
    		printf( "}" );
    		}
    	}

    https://github.com/eunuchs/unix-archive/blob/master/PDP-11/Trees/V6/usr/source/yacc/source/y1.c

    https://www.tuhs.org//Archive/Distributions/Research/Dennis_v6/v6src.tar.gz

    Для любителей обмазываться несвежим сишкокодом. Research Unix

    j123123, 28 Июля 2018

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

    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
    using System;
    using System.Net;
    using System.Net.Sockets;
    using System.IO;
    using System.Linq;
    using System.Collections.Generic;
    
    namespace CSharp_Shell
    {
        public class Program
        {
            static int flipACoin() {
                Random rand = new Random();
                int coin = rand.Next(0,2);
                return coin;
            }
            public static void Main(string[] args)
            {
                int headsCount = 0; 
                int tailsCount = 0;
                int tmp;
                Console.Write("Enter a number of flips\n");
                for(int flips = int.Parse(Console.ReadLine()); flips > 0; flips--) 
                {
                    Console.Write("You flipped: ");
                    tmp = flipACoin();
                    if(tmp == 1) 
                    {
                        Console.Write("Heads\n");
                        headsCount++;
                    }
                    else 
                    {
                        Console.Write("Tails\n");
                        tailsCount++;
                    }
                }
                Console.Write("Heads: " + headsCount + "\nTails: " + tailsCount + "\n");
            }
        }
    }

    Флипает коинсу по аглицки. Есть ли это говнокодом?

    shite, 27 Июля 2018

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

    −1

    1. 1
    Я 20 и мне бородат. :)

    Да будет хохлосрач!11

    shite, 27 Июля 2018

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

    −2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Как покласть в exception этот сайт:
    
    1. Заходим в форму регистрации
    2. Вводим данные: Ник //, мыло любое, пароль /*, подтверждение */
    3. ???
    4. PROFIT!

    shite, 27 Июля 2018

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

    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
    https://hi-tech.mail.ru/review/ajtishniki-razoblachayut-mify-o-sebe/
    
    >>>"Айтишники разоблачают мифы о себе"
    
    >>>"Айтишники могут взломать что угодно"
    
    >>>"Можете что-нибудь взломать?"
    
    >>>"Дмитрий Иванчиков, разработчик SEO-сервиса: «Программисты могут взломать что угодно» — раз в месяц стабильно пишет умник,
    которому надо взломать ВК. Приходится отвечать, что я в душе не знаю, как это делать. Я не криптограф какой-нибудь, а разработчик ПО."
    
    >>>"Александр Буложенко, программист 1С: Это киношный миф. Для того чтобы что нибудь взломать нужно знать как оно устроено и какие
    есть уязвимости. Это интересно далеко не всем, объем информации большой и она периодически устаревает, если говорить о сложных способах
    взлома. Элементарные виды взлома есть и в интернете, с ними может справиться даже школьник."
    
    >>>"Елизавета Тишина, младший инженер: Программист — это программист, а взломщик — это взломщик. Я, например, не имею малейшего понятия
    о том, как пишут инструменты, которые взламывают лицензионные программы, генерируют ключи к ним и т.п. Не нужно забывать о том, что программисты
    как врачи имеют специализацию: один пишет код для встраиваемых систем, другой веб-приложения, третий вообще только анализом данных занимается."
    
    
    
    Они юродствуют или действительно, разрабатывая какой-либо сервис, не представляют, как примерно можно взломать нечто аналогичное? Всегда считал,
    что программист, кругозор которого не ограничен "HTML", "CSS" и "1С", имеет неплохой потенциал наебнуть что-либо, использующее технологию,
    которой он владеет; более того, я уверен, что даже среди постояльцев настоящего сайтика не найдётся ни одного, не имеющего потенциал, а то и опыт
    взлома какого-либо сайта или сервиса.

    KOHTPArEHTTBOEuMAMKu, 27 Июля 2018

    Комментарии (72)
  8. JavaScript / Говнокод #24544

    −1

    1. 1
    Долго не мог понять что за фреймворк такой "Vanilla JS".

    guestinxo, 26 Июля 2018

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

    −1

    1. 1
    https://stackoverflow.com/questions/51521158/in-python-why-does-0xbin-return-false

    Свежий обосрамс питона

    syoma, 26 Июля 2018

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

    +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
    // Non-constant constant-expressions in C++
    // http://b.atch.se/posts/non-constant-constant-expressions/
    // The Implementation
    
    constexpr int flag (int);
    
    template<class Tag>
    struct writer {
      friend constexpr int flag (Tag) {
        return 0;
      }
    };
    
    template<bool B, class Tag = int>
    struct dependent_writer : writer<Tag> { };
    
    template<
      bool B = noexcept (flag (0)),
      int    =   sizeof (dependent_writer<B>)
    >
    constexpr int f () {
      return B;
    }
    
    int main () {
      constexpr int a = f ();
      constexpr int b = f ();
    
      static_assert (a != b, "fail");
    }

    Note: clang incorrectly shows the wrong behavior, a workaround is available in the appendix.

    j123123, 26 Июля 2018

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