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

    −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
    int sortingFunctionForVersion(NSMutableDictionary *item1, NSMutableDictionary *item2, void *context)
    {
        NSString *str1 = nil;
        NSString *str2 = nil;
    	
        int selfWeight = 0;
        str1 = [item1 objectForKey:@"type2"];
    	
        if ([str1 isEqualToString:@""])
        {
            selfWeight = 4;
        }
        else if ([str1 isEqualToString:@"solo"])
        {
            selfWeight = 3;
        }
        else if ([str1 isEqualToString:@"intro"])
        {
            selfWeight = 2;
        }
        else if ([str1 isEqualToString:@"album"])
        {
            selfWeight = 1;
        }
    	
        int pWeight = 0;
        str2 = [item2 objectForKey:@"type2"];
    	
        if ([str2 isEqualToString:@""])
        {
            pWeight = 4;
        }
        else if ([str2 isEqualToString:@"solo"])
        {
            pWeight = 3;
        }
        else if ([str2 isEqualToString:@"intro"])
        {
            pWeight = 2;
        }
        else if ([str2 isEqualToString:@"album"])
        {
            pWeight = 1;
        }
    	
        int diff = (pWeight - selfWeight);
    	
        if (diff != 0)
        {
            str1 = [NSString stringWithFormat:@"%d", selfWeight];
            str2 = [NSString stringWithFormat:@"%d", pWeight];
            return [str1 compare:str2];
        }
        else
        {
            if ([[item1 objectForKey:@"versionid"] intValue] >= 10)
            {
                str1 = [NSString stringWithFormat:@"9%@", [item1 objectForKey:@"versionid"]];
            }
            else
            {
                str1 = [NSString stringWithFormat:@"%@", [item1 objectForKey:@"versionid"]];
            }
    		
            if ([[item2 objectForKey:@"versionid"] intValue] >= 10)
            {
                str2 = [NSString stringWithFormat:@"9%@", [item2 objectForKey:@"versionid"]];
            }
            else
            {
                str2 = [NSString stringWithFormat:@"%@", [item2 objectForKey:@"versionid"]];
            }
    		
            return [str1 compare:str2];
        }
    }

    Слов уже просто нет. Даже междометий.

    Запостил: krypt, 21 Мая 2012

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

    • Творческая переработка моего кода
      Ответить
      • int calcWeight(NSString* str)
        {
        	if ([str isEqualToString:@""])
        	{
        		return 0;
        	} 
        	else if ([str isEqualToString:@"solo"])
        	{
        		return 1;
        	}
        	else if ([str isEqualToString:@"intro"])
        	{
        		return 2;
        	}
        	else if ([str isEqualToString:@"album"])
        	{
        		return 3;
        	}
        	else
        	{
        		return -createHash(str);
        	}
        }
        
        - (NSComparisonResult)compireTabs:(Tab *)p
        {	
        	int selfWeight = calcWeight(self.songType);
        	int pWeight = calcWeight(p.songType);
        	
        	int diff = sign(pWeight - selfWeight);
        	if (diff != 0)
        		return diff;
        	else
        		return sign(self.version - p.version);
        }
        Ответить
    • Вот к чему приводит незнание типов. Юзал бы он целое вместо строки - и проблемы со сравнением бы не словил.
      Ответить
      • Ладно, хрен с ним с типами, привыкли уже. Но НАХРЕНА надо объединять 2 функции?
        У меня складывается впечатление, что он берёт мой код и выбирает из него худшее. Чувствую, скоро у нас в офисе состоится групповое убийство.
        Ответить
        • Мда, копипаст тела уже существующей функции вместо ее вызова это уже клиника.
          Ответить
          • Да тут экстракт, прям, а не функция.

            И живёт уже как минимум год в рабочем проекте. Предыдущий гк QuickNick'а - копипаст автором своего творения в переписываемую версию. Уволюсь нахрен.
            Ответить
        • > что он берёт мой код и выбирает из него худшее
          Да он тебя троллит.
          Ответить
          • Я ты хотел надеяться на это.. Но в таком случае он троллит всю группу разработки )
            Ответить
    • Наш любимый аффтар уволился. Теперь из других контор разгневанные прогеры будут ругаться на пятиуровневые словари, NSString *count и на изменение свойств вьюх из бэкграунд-треда.
      Ответить
      • Ну нихрена ж себе :)
        Главное теперь, чтобы он не пришёл к нам )
        Я там к тебе в жаббер пытаюсь добавиться, me@***.name, подтверди подписку
        Ответить
        • Что-то не вижу, чтоб добавлялся.
          Ответить
          • Я пытался к тебе в рабочий жаббер стучаться, другого я не знаю.

            через пару минут постучусь ещё раз.
            Ответить
          • Отправил запрос
            Ответить
        • Один из его виджетов - горизонтальный "барабан" доверили переписывать моей ученице.

          Ученики уже успели проникнуться стилем последних месяцев в наших свеженьких библиотеках, поэтому знакомство со стилем "Все в одном месте" вызвало у них красноречивое выражение лица.
          Ответить

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