1. Objective C / Говнокод #9614

    −111

    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
    98. 98
    -(void)handleNotification:(id<INotification>)notification
    {
    	NSLog(@"NOTIFICATION:%@", [notification description]);
    	if ([[notification name] isEqualToString:ShowMetronomeInTab]) 
    	{
    		[self.viewComponent showMetronomeInTab];
    	}
    	else if ([[notification name] isEqualToString:AlertOnScreen]) 
    	{
    		isShowRateAlert = YES;
    	}
    	else if ([[notification name] isEqualToString:NoAlertOnScreen]) 
    	{
    		isShowRateAlert = NO;
    	}
    	else if ([[notification name] isEqualToString: ShowHowToEnter]) 
    	{
    		id body = [notification body];
    		[self.viewComponent showHowToEnter:body];
    	}
    	else if ([[notification name] isEqualToString:ShowResultView]) 
    	{
    		[self.viewComponent showResultView:[notification body] Animated:YES];
    	}
    	else if ([[notification name] isEqualToString:ShowIndicatorView]) 
    	{
            if ([[notification body] isKindOfClass:[NSString class]]) 
            {
                [self.viewComponent showLoadingIndicator:[notification body]];
            }
            else 
            {
                if ([[notification body] isKindOfClass:[NSArray class]]) 
                {
                    [self.viewComponent showLoadingIndicator:[[notification body] objectAtIndex:0] WithSecondString:[[notification body]objectAtIndex:1]];
                }
            }		
    	}
        else if ([[notification name] isEqualToString:ShowBlackIndicatorView]) 
    	{
            [self.viewComponent showBlackLoadingIndicator:[notification body]];	
    	}
    	else if ([[notification name] isEqualToString:RemoveIndicatorView]) 
    	{
    		[self.viewComponent removeLoadingIndicator];
    	}
    	else if ([[notification name] isEqualToString:ShowTimeOutAlert]) 
    	{
    		[self.viewComponent displayAlertOnConnectionTimeOut];
    	}
    	else if ([[notification name] isEqualToString:ShowNetworkUnavailableAlert]) 
    	{
    		[self.viewComponent displayAlertOnNetworkError];
    	}
    	else if ([[notification name] isEqualToString:ShowServiceUnavailableAlert]) 
    	{
    		[self.viewComponent displayAlertOnConnectionError];
    	}
    	else if ([[notification name] isEqualToString:ShowHomeView]) 
    	{
    		[self.viewComponent showHomeView];
    	}
    	else if ([[notification name] isEqualToString:ShowProcessingView]) 
    	{
    		[self.viewComponent showProcessingView:[notification body]];
    	} else if ([[notification name] isEqualToString:ShowResultViewNotAnimated]) 
    	{
    		[self.viewComponent showResultView:[notification body] Animated:NO];
    	} else if ([[notification name] isEqualToString:ShowTimeOutAlertWithParent]) 
    	{
    		[self.viewComponent displayAlertOnConnectionTimeOutWithParent:notification.body];
    	}
    	else if ([[notification name] isEqualToString:ShowNetworkUnavailableAlertWithParent]) 
    	{
    		[self.viewComponent displayAlertOnNetworkErrorWithParent:notification.body];
    	}
    	else if ([[notification name] isEqualToString:ShowServiceUnavailableAlertWithParent]) 
    	{
    		[self.viewComponent displayAlertOnConnectionErrorWithParent:notification.body];
    	} 
        else if ([[notification name] isEqualToString:RotationIndicator]) 
    	{
            [self.viewComponent rotationIndicator];
    	}
    	else if ([[notification name] isEqualToString:StartMusic])
        {
            if (applicationProxy.mediaPlayerWasPlaying)
    		{	
    			applicationProxy.mediaPlayerIsPlaying = YES;
    			[self sendNotification:MediaPlayerChangeState];
    			MPMusicPlayerController *mpPlayer = [MPMusicPlayerController iPodMusicPlayer];
    			[mpPlayer play];
    		}
        }
    	else if ([[notification name] isEqualToString:StopMusic])
        {
            applicationProxy.mediaPlayerIsPlaying  = NO;
    		[self sendNotification:MediaPlayerChangeState];

    И так 50 elseif'ов. И, сцуко, все разные. И в последней трети отформатированы лесенкой.
    Местное видение PureMVC

    Запостил: krypt, 05 Марта 2012

    Комментарии (21) RSS

    • >И, сцуко, все разные
      Индусы выходят на новый уровень?
      Ответить
    • О! Настоящий злобный говнокод! Давненько мне такого не попадалось.
      К этому коду классически прилагается начальник/заказчик со словами "Ничего менять не нужно, только чуть-чуть добавить функционала." И список задач на пару страниц.
      Ответить
      • В принципе, так оно и есть.
        Ответить
        • После нескольких таких заказчиков приходишь к выводу: главное, чтобы не на тебе обрушилось.
          И вырастает пирамидка из кубиков еще на несколько этажей. :)
          Ответить
          • говнокрафт, епта
            Ответить
          • Вот так поменяешь место работы - а там тебя тепло встретит вот такой спрут.
            Ответить
            • Так надо спрашивать не только какая зп и когда обед а еще и какая работа.
              Ответить
              • Да не, работа интересная (задачи интересные), но местами через чур...
                Правда 2 потенциальных сотрудника от нас таки сбежали сами... Ушли в 1й день работы на обед, и никто их больше не видел...
                Ответить
              • Ну да. Выделяется ли время для рефакторинга - обязательно надо спрашивать.
                Страшен не сам спрут, а запрет его убивать)
                Ответить
            • И смотреть на остальных разрабов - ухоженные и сытые или такой вид что можно оптом в психушку...
              Попросить познакомить с менеджером \ начальством, оценить связность речи...
              Ответить
    • Одно слово - полярная лиса.
      Ответить
    • Слава богу, на Андроиде у нас до такого не доросло. Хотя потенциал у коллеги был огого.
      Ответить
    • показать все, что скрытоvanished
      Ответить

    Добавить комментарий