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

    Всего: 3

  2. Perl / Говнокод #4638

    −116

    1. 1
    map { push @{ $cgih->{add_result}->{errors} }, 'НЕ добавлено: ' . $_->{title} } @failed_comps;

    Видимо теперь использовать for это уже не по-пацански!

    antonfin, 15 Ноября 2010

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

    −121

    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 save_info {
        beginTransaction();
         
        #-------    250 строк страшного кода, типа:    ---------
        .....
        goto ERROR if $error_code != 0;
        .....
        
        #-------    или
        if ( $res = save_item($data) ) {
            goto OK;
        }
        ............
           
        #-------    Но конец просто меня убил!!!    ---------  
        OK:
        commitTransaction();
        goto RET;
    
        ERROR:
        rollbackTransaction();
    
        RET:
        return $res;
    }

    Я около 3 лет пишу на perl. И догадывался, что есть perl-программисты, которые используют оператор goto LABEL.
    Но я никогда не думал, что мне придется саппортить их код!!!

    antonfin, 13 Августа 2010

    Комментарии (30)
  4. SQL / Говнокод #3939

    −865

    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
    (
             (                      
                    ((
                            SELECT a.* FROM collections a
                            LEFT JOIN link_xml_collections lxa ON
    lxa.collection_id = a.id
                            WHERE lxa.xml_id IS NULL
                    ) UNION (
                            SELECT a.* FROM collections a
                            WHERE get_action_of_collection_last_xml(a.id, a.modified) = 3
                    )) INTERSECT (
                            SELECT a.* FROM collections a
                            LEFT JOIN link_collection_compositions AS lcc ON lcc.collection_id = a.id
                            LEFT JOIN compositions AS c ON c.id = lcc.composition_id
                            WHERE c.status = 0
                    )
           ) INTERSECT (
                    SELECT a.* FROM public.collections AS a
                    LEFT JOIN link_collection_compositions AS lcc ON lcc.collection_id = a.id
                    LEFT JOIN compositions AS c ON c.id = lcc.composition_id  WHERE c.owner_id = 6 AND a.modified >= '2010-08-10 00:00:00'
            )
    ) EXCEPT (
            SELECT a.* FROM collections a WHERE a.title_ua ILIKE 'TEST%'
    )

    Попросили пофиксить багу в функции, которая в зависимости от передаваемых параметров формировала sql запрос и возвращала данные. (Человек коротый это писал уволился.) Решил залогировать конечный sql запрос - получилось такое.

    antonfin, 11 Августа 2010

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