1. Список говнокодов пользователя Elvenfighter

    Всего: 116

  2. C++ / Говнокод #16606

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    for (conn_vector::iterator i = m_connections.begin(); i != m_connections.end(); ++i) {
        if (*i == conn) {
            toDelete = *i;
            m_connections.erase(i);
            break;
        }
    }

    Да, С++98. Да, в std::find не умеем. Да, сегфолт. Да, моё.

    Elvenfighter, 27 Августа 2014

    Комментарии (3)
  3. Perl / Говнокод #16565

    −159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    my @args = (
    	one => 1,
    	two => 2,
    	three => 3,
    );
    
    croak(q/'hashes' only/) if (@args & 1);
    
    my $args = join ';', map { join '=', @args[$_, $_ + 1] } grep { !($_ & 1) } 0 .. $#args;

    Осилил, блин...

    Elvenfighter, 19 Августа 2014

    Комментарии (4)
  4. Perl / Говнокод #16557

    −153

    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
    sub is_consumer_registered {
        my ($type) = @_;
        my $out = qx(some-proprietary-tool --type $type);
        my $result = 0;
    
        my ($status) = $out =~ /$type\s+Status: ([^,]+),/;
        say '## DEBUG: status: ' . ($status // 'undef');
        if ($status && $status eq 'Component registered') {
            say '## DEBUG: result = 1';
            $result = 1;
        }
    
        return 0;
    }

    ... об опечатках. Даже оставил свой дебаг специально :)

    Elvenfighter, 18 Августа 2014

    Комментарии (1)
  5. SQL / Говнокод #16488

    −79

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    SELECT *
    FROM Elements e
    WHERE NULL NOT IN (NULL);
    -- пусто
    
    SELECT *
    FROM Elements e
    WHERE NULL IN (NULL);
    -- пусто

    Вот такой вот парадокс. Подробнее
    http://sqlfiddle.com/#!2/00c3a7/5
    http://sqlfiddle.com/#%212/00c3a7/4
    Ключ к разгадке тут:
    http://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements005.htm

    Elvenfighter, 06 Августа 2014

    Комментарии (98)
  6. SQL / Говнокод #16459

    −117

    1. 1
    DELETE FROM "DB_NAME"."TABLE_NAME" WHERE ROWID = 'AAAgtGAAFAAAAYDAAC' AND ORA_ROWSCN = '17177328' and ( "PKEY_COL" is null or "PKEY_COL" is not null )

    Запрос, генерируемый SQL Developer для удаления строки. Ну чё, зато работает.

    Elvenfighter, 31 Июля 2014

    Комментарии (127)
  7. Perl / Говнокод #16398

    −148

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    sub _handle_error {
        my ($self, $response) = @_;
    
        # TODO
    }

    Стиль программирования "ибо нефиг"

    Elvenfighter, 21 Июля 2014

    Комментарии (0)
  8. bash / Говнокод #16308

    −122

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    exit_status=0
    
    # blah-blah
    
    for process in "service1 service2 service3"; do
        # blah-blah
    
        $process || \
            exit_status=`expr "${exit_status}" \| 1` 
    done
    
    exit $exit_status

    В раздел "джависты пишут шелл-скрипты"

    Elvenfighter, 11 Июля 2014

    Комментарии (0)
  9. bash / Говнокод #16237

    −121

    1. 1
    2. 2
    3. 3
    for file in ${FILES[@]}; do
        test -f "$file" && rm "$file"
    done

    Сегодня с утра устранял падение скрипта при отсутствии удаляемых файлов..
    Use the Force, Luke

    Elvenfighter, 26 Июня 2014

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

    +68

    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
    #include <iostream>
    
    using namespace std;
    
    unsigned ololo_div(unsigned what, unsigned by) {
        unsigned cnt=0;
        while( what>by ) {
            what-=by;
            cnt++;
        }
        if( what==0 ) cnt++;
        return cnt;
    }
    
    int main() {
        cout << ololo_div(10,0) << endl;
        return 0;
    }

    "че там делить то)))"

    http://codepad.org/nL06uX2s

    Elvenfighter, 23 Апреля 2014

    Комментарии (4)
  11. bash / Говнокод #15642

    −128

    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
    # Now convert the arguments - kludge to limit ourselves to /bin/sh
    i=0
    for arg in "$@" ; do
        CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
        CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option
    
        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition
            eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
        else
            eval `echo args$i`="\"$arg\""
        fi
        i=$((i+1))
    done
    case $i in
        (0) set -- ;;
        (1) set -- "$args0" ;;
        (2) set -- "$args0" "$args1" ;;
        (3) set -- "$args0" "$args1" "$args2" ;;
        (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
        (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
        (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
        (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
        (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
        (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
    esac

    gradle wrapper

    Elvenfighter, 02 Апреля 2014

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