1. Java / Говнокод #4133

    +79

    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
    /**
             * Convenience method call with one parameter
             * 
             * @param method name of method to call
             * @param p0 method's parameter
             * @return deserialized method return value
             * @throws XMLRPCException
             */
            public Object call(String method, Object p0) throws XMLRPCException {
                    Object[] params = {
                            p0,
                    };
                    return callEx(method, params);
            }
            
            /**
             * Convenience method call with two parameters
             * 
             * @param method name of method to call
             * @param p0 method's 1st parameter
             * @param p1 method's 2nd parameter
             * @return deserialized method return value
             * @throws XMLRPCException
             */
            public Object call(String method, Object p0, Object p1) throws XMLRPCException {
                    Object[] params = {
                            p0, p1,
                    };
                    return callEx(method, params);
            }
    
    //.......................................................
    //.....................cut.............................
    //.......................................................
    
            /**
             * Convenience method call with seven parameters
             * 
             * @param method name of method to call
             * @param p0 method's 1st parameter
             * @param p1 method's 2nd parameter
             * @param p2 method's 3rd parameter
             * @param p3 method's 4th parameter
             * @param p4 method's 5th parameter
             * @param p5 method's 6th parameter
             * @param p6 method's 7th parameter
             * @return deserialized method return value
             * @throws XMLRPCException
             */
            public Object call(String method, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6) throws XMLRPCException {
                    Object[] params = {
                            p0, p1, p2, p3, p4, p5, p6,
                    };
                    return callEx(method, params);
            }
    
    
            /**
             * Convenience method call with eight parameters
             * 
             * @param method name of method to call
             * @param p0 method's 1st parameter
             * @param p1 method's 2nd parameter
             * @param p2 method's 3rd parameter
             * @param p3 method's 4th parameter
             * @param p4 method's 5th parameter
             * @param p5 method's 6th parameter
             * @param p6 method's 7th parameter
             * @param p7 method's 8th parameter
             * @return deserialized method return value
             * @throws XMLRPCException
             */
            public Object call(String method, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7) throws XMLRPCException {
                    Object[] params = {
                            p0, p1, p2, p3, p4, p5, p6, p7,
                    };
                    return callEx(method, params);
            }

    http://code.google.com/p/android-xmlrpc/source/browse/trunk/XMLRPC/src/org/xmlrpc/android/XMLRPCClient.java

    Запостил: striker, 31 Августа 2010

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

    • Это нормальная практика у разработчиков API. Они потом эти p1, p2, ..., pn хорошо документируют. Посмотри на API Jira.
      Ответить
    • Может, это писалось, когда не было varargs?
      Ответить
      • Это как раз обычная практика для ускорения вызова методов с переменным числом аргументов. Дело в том, что и в жабе, и в дотнете метод с varargs (params) отрабатывает дольше, чем метод с фиксированным числом параметров. Поэтому плодится такая милая копипаста.
        Ответить
        • а где ускорение, когда вызов внутри вызова? может быть, это инлайнится?
          Ответить
    • Хех, я однажды в дельфях навалил подобную лепешку, описав сигнатуры всех существующих CALLBACK функций винды
      Ответить
    • Striker, чё-то вот вылезло при добавлении камента. Notice: unserialize(): Error at offset 8180 of 8192 bytes in /home/striker/applications/govnokod/mzz/system/cache/cacheFile.php on line 81
      Ответить
      • Спасибо, фиксанул.
        Правда, говнофикс с собачкой получился. Подумаю на досуге
        Ответить

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