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

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

    −180

    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
    try:
        ip_port = sys.argv[1].split(':')
        ip = ip_port[0]
     
        if len(ip_port) == 2:
            port = ip_port[1]
        elif len(ip_port) == 1:
            port = "80"
        else:
            raise IndexError
    except IndexError:
        print "Usage: %s <target ip:port>" % sys.argv[0]
        sys.exit(1)

    Эксплоиты. Неиссякаемый источник ГК.

    Я бы сделал так:

    try:
    ip_port = sys.argv[1].split(':')
    ip = ip_port[0]
    try:
    port = ip_port[1]
    except IndexError:
    port = 80
    except IndexError:
    print "Usage: %s <target ip:port>" % sys.argv[0]
    sys.exit(1)

    3_14dar, 25 Апреля 2015

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

    +162

    1. 1
    2. 2
    3. 3
    4. 4
    taras@host ~/host/sites/default $ drush phpsh-console
    php> var_dump(eval('array()'));
    bool(false)
    PHP Parse error:  syntax error, unexpected end of file in /usr/local/lib/python2.7/dist-packages/phpsh/phpsh.php(591) : eval()'d code(1) : eval()'d code on line 1

    О мой мозг...! А Python здесь причем?

    kissarat, 24 Февраля 2015

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

    +136

    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
    #include <stdint.h>
    #include <Windows.h>
    #include <intrin.h>
    
    typedef long dt;
    
    namespace {
    	dt InitializationIsInProgress = 0;
    	dt InitializationIsFinished = 0;
    }
    
    dt InterlockedLoad(dt volatile * t){
    	return InterlockedCompareExchange(t, 0, 0);
    }
    
    dt InterlockedAssign(dt volatile * t, dt v){
    	dt c = 0;
    	while (c = InterlockedCompareExchange(t, v, c));
    }
    
    void InitializeSystem(){
    	if (InterlockedLoad(&InitializationIsFinished) == 1)
    		return;
    	while (InterlockedCompareExchange(&InitializationIsInProgress, 1, 0) == 1) Sleep(0);
    	//__ReadWriteBarrier();
    	if (InterlockedLoad(&InitializationIsFinished) == 1)
    		return;
    	Work();
    	InterlockedAssign(&InitializationIsFinished, 1);
    	InterlockedAssign(&InitializationIsInProgress, 0);
    }

    Не судите строга. Воспользуюсь как пастебином. Если найдете ошибки - пришлю пирожок.

    LispGovno, 04 Февраля 2015

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

    +133

    1. 1
    2. 2
    if (dbg)
    	printf("2\n");

    // This is debug mode

    codemonkey, 22 Января 2015

    Комментарии (42)
  6. Perl / Говнокод #17110

    −288

    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
    sub serialize {
        my ($obj) = @_;
        my $result;
    
        my $ref = ref $obj;
        if ($ref eq 'HASH') {
            $result = sprintf '{ %s }', join(', ', map { qq/"$_": / . serialize($obj->{$_}) } keys %$obj);
        } elsif ($obj eq 'ARRAY') {
            $result = sprintf '[ %s ]', join(', ', map { serialize($_) } @$obj);
        } elsif (! $ref) {
            if (!defined $obj) {
                $result = 'null';
            } elsif ($obj =~ /^ -? (?:0|[1-9]\d*) (?:\.\d+)? (?:[eE][+-]?\d+)? $/x) {
                $result = $obj;
            } else {
                $obj =~ s/(["\\])/\\$1/g;
                $obj =~ s/\r/\\r/g;
                $obj =~ s/\n/\\n/g;
                $obj =~ s/\t/\\t/g;
                $result = qq/"$obj"/;
            }
        }
    
        return $result;
    }

    В продолжение #17106. Самопальная Самобытная сериализация в JSON.

    Elvenfighter, 14 Ноября 2014

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

    −162

    1. 1
    НоваяСтрока.ТелефонныйНомер = Прав(НоваяСтрока.ТелефонныйНомер, стрДлина(НоваяСтрока.ТелефонныйНомер));

    Выдрано из Рарус СофтФон. Ума не приложу, что они хотели этим сказать...

    Ivon, 03 Сентября 2014

    Комментарии (42)
  8. Куча / Говнокод #15924

    +118

    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
    Пример 1.
    
    def rnd20
    put rnd(0..20)
    end
    rnd20
    
    Пример 2.
    Нахождение корней квадратного уравнения.
    
    def sqrt(num, prec)
    number = num / 2.0
    
    while(((rsq = number**2) - num > prec))
    root -= (rsq - num) / (2.0*number)
    end
    
    return number
    end
    
    a = 2
    b = 10
    c = 12
    d = b**2-(4*a*c)
    put 'Дискриминант равен: ' + d.to_s + '.'
    x1 = -b-sqrt(d,1)/2*a
    x2 = -b+sqrt(d,1)/2*a
    put 'X1 = ' + x1.to_s + ', X2 = ' + x2.to_s + '.'

    Онлайн интерпретатор Lapis-а тут : http://pma.clan.su/Lapis.htm. Пишите ваши отзывы!

    Mobac, 05 Мая 2014

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

    −102

    1. 1
    l.add_xpath('price', '//table[3]/tr/td[2]/table[1]/tr[1]/td[3]/table/tr[3]/td/table/tr[2]/td/text()', lambda x: '.'.join(x))

    kyzi007, 05 Мая 2014

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

    +138

    1. 1
    http://www.microsoft.com/ru-ru/smb/campaigns/get-modern/default.aspx

    Таймер идёт назад.
    Да они поехали!

    laMer007, 08 Апреля 2014

    Комментарии (42)
  11. C# / Говнокод #14987

    +131

    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
    private void аффинныйШифрToolStripMenuItem_Click(object sender, EventArgs e)
    {
                foreach (Form childForm in MdiChildren)
                {
                    childForm.Close();
                }
                foreach (Form f in this.MdiChildren)
                {
                    return;
                }
                Affiniy af = new Affiniy();
                af.TopLevel = false;
                af.Show();
                tabPage1.Controls.Add(af);
                af.WindowState = System.Windows.Forms.FormWindowState.Maximized;
    }

    Попросили посмотреть код. 15 методов с различными простейшими шифрами, но чудо foreach -> return, присутствует в каждом. И не лень кому-то было...

    MoN, 26 Февраля 2014

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