1. C++ / Говнокод #12631

    +17

    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
    class Test
    {
      public:
        Test() : f(&Test::f0), f0(&Test::f1), f1( &Test::f2 ) {}
        float (  Test::* const Test::* const Test::* const f)();
      private:
        float ( Test::* const Test::* const f0)();
        float ( Test::* const f1)() ;
        float f2() { return 0; }
    };
    
    Test t;
    cout << (t.*(t.*(t.*(t.f))))();

    LispGovno, 21 Февраля 2013

    Комментарии (9)
  2. Objective C / Говнокод #12630

    −110

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    case 3:
    #if !SOME_SWITCH
            vc = [AViewController new];
            break;
    
        case 4:
    #endif
            [[EGOCache currentCache] clearCache];
            break;

    За такое, по-хорошему, стоит руки отрывать, но я сильно торопился.

    byss, 21 Февраля 2013

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

    +142

    1. 1
    2. 2
    if(!true) // это - не говнокод. это - заглушка.
                    return false;

    Оправдывается ещё )

    pitch, 21 Февраля 2013

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

    +153

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if($this->memberData['posts'] >= $this->settings['post_pm_number'] || $time_diff >= 86400*$this->settings['post_pm_days'] || in_array( $this->memberData['member_group_id'], $exludedgids)){
            // action allowed
    }else{
            $this->registry->class_localization->loadLanguageFile( array( 'public_global' ), 'core' );
            $this->registry->output->showError(sprintf($this->lang->words['post_pm_restriction'], $this->settings['post_pm_number'], $this->settings['post_pm_days']));
    }

    action allowed :)

    CheshirskyCode, 21 Февраля 2013

    Комментарии (2)
  5. Objective C / Говнокод #12627

    −100

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    BOOL isMan = [[NSUserDefaults standardUserDefaults] boolForKey:POLM];
    		BOOL newSex = [[NSUserDefaults standardUserDefaults] boolForKey:SEX];
    		if (isMan != newSex) {
    				// Меняем пол
    			[[NSUserDefaults standardUserDefaults] setBool:newSex forKey:POLM];
    			[[NSUserDefaults standardUserDefaults] synchronize];
                     }

    Операция по смене пола - это не так просто, как кажется

    mas_an, 21 Февраля 2013

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

    −107

    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
    - (void)viewDidLoad
    {
        [super viewDidLoad];
    	[self performSegueWithIdentifier:@"manWomanView" sender:self];
    	return;
    //40 строк кода...
            NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url];
    // 5 строк формируем реквест
            NSData *responseData = [NSURLConnection sendSynchronousRequest:theRequest returningResponse:nil error:&err];
    if (!responseData) {
    			NSLog(@"Connection Error: %@", [err localizedDescription]);
    		}
    		NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
    		NSLog(@"Response: %@", responseString);
    		NSString *isSucces = [AYDataFetcher isSucces:responseString];
    		if ([isSucces isEqualToString:@"success"]) {
    			NSLog(@"Signup Succes");
    				// Проверяем и записываем оплату
    			NSNumber *isPlat = [AYDataFetcher isPlat:responseString];
    				//NSLog(@"%@", isPlat);
    			NSLog(@"%@", [isPlat boolValue]?@"Paid account":@"No paid account");
    			[[NSUserDefaults standardUserDefaults] setBool:[isPlat boolValue] forKey:PLAT];
    			[[NSUserDefaults standardUserDefaults] synchronize];
    			
    			if(FALSE) // if([[MKStoreManager sharedManager] isSubscriptionActive:kMyFeatureIdentifier])
    			{
    // 80 строк кода
    			} else {
    				if (FALSE) {
    //50 строк кода......

    Клиент обратился - Приложение сделано фрилансером по имени Андрей Андреев. При переходе с одного таба на другой приложение подвисало на 5-10 секунд. Смотрим код, радуемся - все запросы к апи шлются через NSURLConnection sendSynchronousRequest, в коде куча блоков вроде if(FALSE). И это уже в релизе.

    mas_an, 21 Февраля 2013

    Комментарии (19)
  7. PHP / Говнокод #12625

    +155

    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
    // сначала читаем из настроек unix-timestampы дней, в которые начинаются кварталы
    // если же не получилось прочитать настройки, берем то, что сгенерим с помощью mktime
    // правда, в настройках значения от балды, и в mktime делаются не те даты, поэтому некоторые месяцы считаем не в свой квартал
    // но кого это волнует?
      $planning_current = Array(
                                 "k1" => COption::GetOptionString("main", "req_planning_k1", mktime(0,0,0,intval(1),1, $_YEAR)),
                                 "k2" => COption::GetOptionString("main", "req_planning_k2", mktime(0,0,0,intval(3),1, $_YEAR)),
                                 "k3" => COption::GetOptionString("main", "req_planning_k3", mktime(0,0,0,intval(6),1, $_YEAR)),
                                 "k4" => COption::GetOptionString("main", "req_planning_k4", mktime(0,0,0,intval(9),1, $_YEAR)),
                               ); 
    
    // массивы с порядковыми номерами месяцев квартала
      $first_kvartal  = array("01","02","03");
      $second_kvartal = array("04","05","06");
      $third_kvartal  = array("07","08","09");
      $fourth_kvartal = array("10","11","12");
    
    ... // здесь html с шапкой таблицы и началом первой строки
      
    foreach($first_kvartal as $key){ // $key нигде не используется
                $c_date = time();
                $c_cyc  = mktime(0,0,0, date('m',$planning_current['k1']), date('d',$planning_current['k1']), $_YEAR); // год сменить хочу
                
                if($c_cyc < $c_date) { // если квартал уже начался
                  ... // здесь html с ячейкой, в которой заявка текущего месяца показана одним способом
                } else {
                  ... // здесь html с ячейкой, в которой заявка текущего месяца показана другим способом
    			}
    }
    
    ... // здесь html, завершающий первую строку и начинающий вторую
    
    ... // и еще три абсолютно таких же цикла - для второго, третьего и четвертого кварталов

    Задача: вывести в таблицу ежемесячные заявки для года $_YEAR, причем каждый квартал в отдельной строке

    clauclauclau, 21 Февраля 2013

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

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if(!empty($_POST['action']) && !empty($_POST['product_id']))
    {
    	$product_id=$_POST['product_id']+0;
            etc...
    }

    Наткнулся вот!)

    Impossible, 21 Февраля 2013

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

    +155

    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
    function poisk_potomok_item ($id_otca, $glubina, $i_array)
                  {
                   global /*$style,*/ $kol_n, $sm, $fire;
    
                   if ($glubina==$max_vlog) return 1;
    
                   switch ($glubina)
                        {
                         case "1":
                          {
                           $base_style="menu2_level3";
                           break;
                          }
                         case "2":
                          {
                           $base_style="menu2_level4";
                           break;
                          }
                         case "3":
                          {
                           $base_style="menu2_level5";
                           break;
                          }
                         case "4":
                          {
                           $base_style="menu2_level6";
                           break;
                          }
                         case "5":
                          {
                           $base_style="menu2_level7";
                           break;
                          }
                         case "6":
                          {
                           $base_style="menu2_level8";
                           break;
                          }
                         case "7":
                          {
                           $base_style="menu2_level8";
                           break;
                          }
                        }
                   for ($j=1; $j<=$kol_n; $j++)
                      {
                       $mas5=explode(" ~ ", $i_array[$j]);
                       if ($mas5[1]==$id_otca and $mas5[2]=="1")
                         {
                          $style_pot="<table cellspacing=\"0\"><tr><td class=\"$base_style\"><a href=\"?r=item&gs=".$mas5[0]."\" class=\"menu2_2\">".$mas5[4]."</a></td></tr></table>";
    
                          for($kkkk=count($sm);$kkkk > 0; $kkkk--)
                             {
                              if ($mas5[0]==$sm[$kkkk])
                                {
                                 if ($mas5[0]==$sm[1])
                                   {
                                    $style_pot="<table cellspacing=\"0\"><tr><td class=\"$base_style\"><span class=\"menu2_2a\">".$mas5[4]."</span></td></tr></table>";
                                    
                                     $new_gl=$glubina+1;
    
                                     $gi=poisk_potomok_item ($mas5[0],$new_gl, $i_array);
                                    
                                     if ($gi != "") {$style_pot.=$fire.$gi.$fire;}
                                   }
                                 else
                                   {
                                  //  $style_pot="<table cellspacing=\"0\"><tr><td class=\"$base_style\"><a href=\"?r=item&gs=".$mas5[0]."\" class=\"menu2_2\">".$mas5[4]."</a></td></tr></table>";
                                    $style_pot="<table cellspacing=\"0\"><tr><td class=\"$base_style\"><span class=\"menu2_2a\">".$mas5[4]."</span></td></tr></table>";
    
                                    $new_gl=$glubina+1;
    
                                     $gi=poisk_potomok_item ($mas5[0],$new_gl, $i_array);
    
                                     if ($gi != "") {$style_pot.=$fire.$gi.$fire;}
    
                                   }
                                }
                             }
    
                          $style.=$style_pot;
    
                         }
                  }
    
                 return $style;
                  }

    В одной из ведущих веб-студий Екатеринбурга, директор 5 лет назад был кодером)))
    вот одно их его творений..

    Обратите внимание на идентификаторы, такие как poisk_potomok_item, $id_otca, $glubina, $i_array.
    Вообще, как человек, директор - норм чувак, но кажется мне придется пересмотреть свои взгляды...

    Если человек называет функцию так: "poisk_potomok_item" - ему явно жить труднее остальных людей)))))

    arbora, 21 Февраля 2013

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

    +124

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    import Control.Applicative
    import Data.List
    isSimple n | n > 0 = not $ or $ map (\n1 -> n `rem` n1 == 0) [2..n-1]
    isNaturalAndSimple n = n > 0 && isSimple n
    generateSource b e = map (flip replicate $ [b..e]) [2..]
    splitAll = groupBy $ \_ _->False
    splitedNumberRangesToNumberSequence l = foldl (liftA2 (++)) (head l) (tail l)
    toNumberSequences = map $ splitedNumberRangesToNumberSequence . map splitAll
    onlySimple = map $ filter $ isNaturalAndSimple . sum
    main = print $ take 4 $ onlySimple $ toNumberSequences $ generateSource 2 3

    HaskellGovno, 20 Февраля 2013

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