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

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

    −193

    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
    if(!empty($_SESSION['order_id'])&&($_SESSION['order_id'] == $order->id))
    ;
    else{
        if(empty($order->user_id))
            if($password = $this->request->post('password','string')){
                if($url != $this->orders->check_password($url, $password))
                    return false;
            }
            else
                // Выводим форму запроса пароля
                return $this->body = $this->design->fetch('order_login.tpl');
        elseif ($order->user_id != $this->user->id)
            return false;
    }

    из разряда "я не умею писать условия"

    Snickers, 28 Сентября 2012

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

    +75

    1. 1
    v.getParent().getParent().getParent().getParent().requestDisallowInterceptTouchEvent(true);

    Не моё, но не могу не поделиться :)

    byss, 27 Сентября 2012

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

    +46

    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
    $confs = array();
    
    		$q = new WP_Query(array('post_type' => 'conference',
    					'posts_per_page' => -1,
    					'meta_key' => 'cd-conference-date-start',
    					'orderby' => 'meta_value_num',
    					'order' => 'DESC'
    					));
    
    		while($q->have_posts()): $q->the_post();
    		$confs[date("Y", get_post_meta($post->ID, 'cd-conference-date-start', true))][] = array('conf_title' => get_the_title(),
    												      'conf_date_start' => get_post_meta($post->ID, 'cd-conference-date-start', true),
    												      'conf_date_end' => get_post_meta($post->ID, 'cd-conference-date-end', true),
    												      'conf_link' => get_permalink(),
    												      'conf_city' => get_post_meta($post->ID, 'cd-conference-city', true),
    												      'conf_icon' => get_the_post_thumbnail()
    												      );
    		endwhile;
    
    		wp_reset_postdata();

    WordPress. Глубже, чем вы себе можете представить.

    varg242, 17 Сентября 2012

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

    +43

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    <?php
    
    	function monthName($monthNumber) {
    
    		echo date('F', strtotime('first day of '.($monthNumber - date('n')).' month'));
    		
    	}
    	
    	monthName(10);
    	
    ?>

    Знаю, что не говнокод, но решил запостить - поделиться, ибо встречал тут много говнокода относительно подобного алгоритма получения названия месяца по порядковому номеру онного и много различных вариантов "неговнокода" в коментариях, но именно такой "пыхдатой" реализации не видел - впечатлило, хороший "антиВелосипед" :)

    killro0000, 15 Сентября 2012

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

    −108

    1. 1
    push @sqls, defined($result->{sql}) ? $result->{sql} : return;

    Не знаю, что тут написать. Сегодня это встретил в коде.

    Elvenfighter, 13 Сентября 2012

    Комментарии (3)
  7. SQL / Говнокод #11766

    −160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    QString query4="INSERT INTO `"+mb+"`.`cubes` (`user_id`, `name`) VALUES (0, '"+name+"')";
    mysql.sqlQuery(query4, true);
    mysql.sqlQuery("SELECT * FROM `"+mb+"`.`cubes` WHERE name='"+name+"' AND user_id="+QString::number(userID), true);
    mysql.data_connection_bind(true);
    mysql.getRow();
    int id=mysql.getUint32(o);
    mysql.sqlQuery("UPDATE `"+mb+"`.`cubes` SET user_id=1 WHERE user_id="+QString::number(userID), true);
    mysql.sqlQuery("DELETE FROM `"+mb+"`.`users` WHERE `name`="+QString::number(getpid()), true);
    qDebug()<<"CubeID"<<id;

    Судя по словам автора: он не осилил lastInsertId, поэтому пытался вставить запись с заранее не существующим user_id, чтобы затем однозначно извлеч эту строку и получить уже долгожданое поле id.

    Try, 13 Сентября 2012

    Комментарии (3)
  8. SQL / Говнокод #11762

    −161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if (IDATUMS is null) then
        begin
            suspend;
            exit;
            REZULT = "Nevar importet gramatojumu id:" || :NOMER_DOC;
            execute procedure TSEND_ERROR(:REZULT);
        end

    Гениальнейшая PSQL-конструкция в СУБД Firebird. Автор, видимо, не в курсе, что после EXIT процедура больше не выполняется :]

    N21, 13 Сентября 2012

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

    −100

    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
    def profile_edit(request, template_name='profile/subdiler/profile_edit.html'):
        profile = request.profile
        
        if request.method == "POST":
            form = DilerProfileForm(request.POST, request.FILES, instance=profile)
            if form.is_valid():
                profile = form.save(commit=False)
                try:
                    profile.avatar = profile.avatar[0]
                except:
                    pass
                try:
                    profile.sign = profile.sign[0]
                except:
                    pass
                profile.city = form.city
                profile.save()

    Замечательная цепочка из try-cath
    Не менее замечательно то, что метод profile_edit полностью идентичный лежит в двух файлах subdiler_views.py и diler_views.py
    Разница между ними только в переменной template_name='profile/(subdiler|diler)/profile_edit.html'
    Для чего так сделано, мне нипанять.

    хуита, 05 Сентября 2012

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

    −102

    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
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    -(void)tableView:(UITableView*)tableViewTable didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    {
        switch (indexPath.row) {
            case 0:
            {
                ViewControllerFavorites *contoller = [[ViewControllerFavorites alloc] initWithNibName:nil bundle:nil];
                [contoller setNavigationController:navigationController];
                [navigationController pushUIViewController:contoller WithName:[[[row getData] objectForKey:@"description"] uppercaseString]];
            }
                break;
            case 1:
            {
                ViewControllerMyAccount *contoller = [[ViewControllerMyAccount alloc] initWithNibName:nil bundle:nil];
                [contoller setNavigationController:navigationController];
                [navigationController pushUIViewController:contoller WithName:[[[row getData] objectForKey:@"description"] uppercaseString]];            
            }
                break;            
            case 2:
            {
                ViewControllerParts *contoller = [[ViewControllerParts alloc] initWithNibName:nil bundle:nil];
                [contoller setNavigationController:navigationController];
                [navigationController pushUIViewController:contoller WithName:[[[row getData] objectForKey:@"description"] uppercaseString]];            
            }
                break;            
            case 3:
            {
                ViewControllerFinancing *contoller = [[ViewControllerFinancing alloc] initWithNibName:nil bundle:nil];
                [contoller setNavigationController:navigationController];
                [navigationController pushUIViewController:contoller WithName:[[[row getData] objectForKey:@"description"] uppercaseString]];            
            }
                break;            
            case 4:
            {
                ViewControllerWebView *contoller = [[ViewControllerWebView alloc] initWithNibName:nil bundle:nil link:@"http://www.facebook.com"];
                [contoller setNavigationController:navigationController];
                [navigationController pushUIViewController:contoller WithName:[[[row getData] objectForKey:@"description"] uppercaseString]];    
            }
                break;            
            case 5:
            {
                ViewControllerWebView *contoller = [[ViewControllerWebView alloc] initWithNibName:nil bundle:nil link:@"http://twitter.com"];
                [contoller setNavigationController:navigationController];
                [navigationController pushUIViewController:contoller WithName:[[[row getData] objectForKey:@"description"] uppercaseString]]; 
            }
                break;            
            case 6:
            {
                ViewControllerWebView *contoller = [[ViewControllerWebView alloc] initWithNibName:nil bundle:nil link:@"http://plus.google.com"];
                [contoller setNavigationController:navigationController];
                [navigationController pushUIViewController:contoller WithName:[[[row getData] objectForKey:@"description"] uppercaseString]]; 
            }
                break;            
            case 7:
            {
                ViewControllerLiveChat *contoller = [[ViewControllerLiveChat alloc] initWithNibName:nil bundle:nil];
                [contoller setNavigationController:navigationController];
                [navigationController pushUIViewController:contoller WithName:[[[row getData] objectForKey:@"description"] uppercaseString]];           
            }
                break;            
            case 8:
            {
                ViewControllerGasStations *contoller = [[ViewControllerGasStations alloc] initWithNibName:nil bundle:nil];
                [contoller setNavigationController:navigationController];
                [navigationController pushUIViewController:contoller WithName:[[[row getData] objectForKey:@"description"] uppercaseString]];            
            }
                break;            
            case 9:
            {
                ViewControllerVinScanner *contoller = [[ViewControllerVinScanner alloc] initWithNibName:nil bundle:nil];
                [contoller setNavigationController:navigationController];
                [navigationController pushUIViewController:contoller WithName:[[[row getData] objectForKey:@"description"] uppercaseString]];           
            }
                break;            
            case 10:
            {
                ViewControllerQRScanner *contoller = [[ViewControllerQRScanner alloc] initWithNibName:nil bundle:nil];
                [contoller setNavigationController:navigationController];
                [navigationController pushUIViewController:contoller WithName:[[[row getData] objectForKey:@"description"] uppercaseString]];            
            }
                break;            
            case 11:
            {
                ViewControllerNewsletter *contoller = [[ViewControllerNewsletter alloc] initWithNibName:nil bundle:nil];
                [contoller setNavigationController:navigationController];
                [navigationController pushUIViewController:contoller WithName:[[[row getData] objectForKey:@"description"] uppercaseString]];            
            }
                break;            
            case 12:
           {
                ViewControllerSettings *contoller = [[ViewControllerSettings alloc] initWithNibName:nil bundle:nil];
                [contoller setNavigationController:navigationController];
                [navigationController pushUIViewController:contoller WithName:[[[row getData] objectForKey:@"description"] uppercaseString]];           
            }
                break;        
            default:
                break;
        }

    Вот так в коммерческих проектах реализуют навигацию.

    GK2012, 23 Августа 2012

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

    +134

    1. 1
    private static readonly Dictionary<FloorCeilingSortOptions, Func<IOrderedEnumerable<FloorCeilingSystemPage>, Func<FloorCeilingSystemPage, int>, IOrderedEnumerable<FloorCeilingSystemPage>>> DefaultSortOrder

    dotnetdeveloper, 14 Августа 2012

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