1. C# / Говнокод #1957

    +105.5

    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
    //одногрупнику надо было проверить, является ли "obj" - "А"
    //наблюдал за процессом, и плакал
    //----------------------------------------------------------------------------------
    //1 версия
    static bool IsA(object obj) {
    if (obj.GetType().Name.Equals("A", StringComparison.InvariantCultureIgnoreCase))
        return true;
        else return false;
    }
    //----------------------------------------------------------------------------------
    //2 версия
    static bool IsA(object obj) {
        A a = new A();
        if (obj.GetType().Equals(a.GetType()))
            return true;
        else return false;
    }
    //----------------------------------------------------------------------------------
    //3 версия
    static bool IsA(object obj) {
        if (obj.GetType().Equals(typeof(A)))
            return true;
        else return false;
    }
    //----------------------------------------------------------------------------------
    //потом он вспомнил, что от "A" могут наследоваться другие классы
    static bool IsA(object obj) {
        Type typeObj = obj.GetType();
        do {
            if (typeObj.Equals(typeof(object)))
                return false;
            else if (typeObj.Equals(typeof(A)))
                return true;
            else typeObj = typeObj.BaseType;
        } while (true);
    }
    
    //плачу, смеюсь и плачу, а с виду одногрупник вроде не Индус...
    //...и весь этот говнокод был написан, вместо простого:
    static bool IsA(object obj) { return obj is A; }

    via xeonix

    Запостил: striker, 12 Октября 2009

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

    • тырил говнокод в процессе написания или просто память хорошая?
      Ответить
      • та не, по памяти... но такой шедевр разве забудеш?
        xeonix
        Ответить
    • Эпично:)
      Ответить
    • if(obj is A)
      return true;
      else return false;
      у меня проверка типов была так сделана. по сути то же, что и в конце листинга, только букавок побольше :)
      Ответить
    • Смешно ))))
      Не понятно только вообще зачем это как функцию оформлять ))))
      Вызов функции выглядит так
      ... IsA(obj)
      а без функции можно написать
      ... obj is A
      По-моему даже букв меньше получается без этой функции
      Ответить
    • ну в задании у него так было, отдельным методом сделать...
      но последний вариант с циклом меня ваще убил))
      Ответить
      • Хм, если задание было ТАКОЕ, то понятно откуда ноги растут. Их учат так говнокодить.
        Ответить
    • Вот спасибо, под конец рабочего дня похохотал )))))
      Ответить
    • Сей эпический говнокод, от банального незнания базовых языковых конструкций. Этот человек явно не работает программистом, ибо собеседование бы не прошёл)))
      Ответить
      • дык сей человек - студент Харьковского Национального Университета Радиоэлектроники...
        следовательно, делаем выводы о качестве образования...
        и вообще, я, учясь там же понял такую вещь: еси хочеш чёта узнать, - не надейся, шо тебя этому ктота научит, - бери, и раздупляйся сам, ибо так можно сего-то достичь
        Ответить
        • я это понял на первом курсе.
          стыдно, что так поздно...
          Ответить
        • Не боитесь, такое хреновое образование только в пост-ссср (в пост-ссср, как можно заметить, всё хреновое).

          На Западе процесс обучения совершенно другой, более ответственный (как и всё, в принципе)
          Ответить
    • [quote]дык сей человек - студент Харьковского Национального Университета Радиоэлектроники...
      следовательно, делаем выводы о качестве образования...[/quote]

      вы бы видели говнокод моих одногрупников и их предшественников ))
      кстати будет время найду архив лаб - порадую посетителей

      ЗЫ а в яве я делаю так c.isInstance(obj)
      Ответить
    • > а с виду одногрупник вроде не Индус...

      в русском языке не пишутся национальности с большой буквы, мазафака!
      говноорфография в говнопосте детектед!
      Ответить
      • Индус — не национальность, мазафака! А вероисповедание. Труъ!
        Ответить

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