1. Лучший говнокод

    В номинации:
    За время:
  2. C# / Говнокод #24760

    −2

    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
    int[][] arr = new int[3][];
                arr[0] = new int[3];
                arr[1] = new int[2];
                arr[2] = new int[5];
                arr[0][2] = 16;
                arr[1][0] = 45;
                arr[2][4] = 99;
                foreach (int item in arr[0])
                    Console.Write(item + " ");
                Console.WriteLine();
                foreach (int item in arr[1])
                    Console.Write(item + " ");
                Console.WriteLine();
                foreach (int item in arr[2])
                    Console.Write(item + " ");
    
    Этот foreach просто божественен

    Auzergos, 14 Сентября 2018

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

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    private Integer getIntegerValue(int length) throws PivotReadExeption {
            getValue(length);
            return this.stringBuffer.toString().trim().isEmpty()?0:Integer.valueOf(this.stringBuffer.toString());
        }
    
        private BigDecimal getDoubleValue(int length) throws PivotReadExeption {
            getValue(length);
            if(this.stringBuffer.toString().trim().isEmpty()) return null;
            return new BigDecimal(this.stringBuffer.toString().trim());
        }

    Сотрудник выдал. Это говнокод или нет?

    gaal, 11 Сентября 2018

    Комментарии (10)
  4. C++ / Говнокод #24729

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    #include <iostream>
    #include <stdio.h>
    using namespace std;
    
    int main() {
        ios::sync_with_stdio.h(false);
        cin.tie(0);
        cout.tie(0);
    }

    Чо за хуйня?

    LinuxGovno, 07 Сентября 2018

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

    −2

    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
    private static function preparePostProperty(&$data, $propName = [], $type = 'float'){
            if(!in_array($type, ['float', 'integer', 'string']))
                return;
            if(is_array($data) && !empty($propName)){
                $key = '$data["' . implode('"]["', $propName) . '"]';
    
                @eval("if(isset($key)) $key = ($type)$key;");
            }
        }
    
    
        public static function preparePost($data, $documentsObjects = []){
            if(is_array($data)){
                self::preparePostProperty($data, ['general', 'fromMtender', 'lotDetails', 'lotAmount']);
                self::preparePostProperty($data, ['general', 'additionalData', 'budgetDetails', 'amountBrutto']);
                self::preparePostProperty($data, ['general', 'additionalData', 'budgetDetails', 'amountNetto']);
                self::preparePostProperty($data, ['general', 'additionalData', 'budgetDetails', 'amountPrepayment']);
                self::preparePostProperty($data, ['general', 'additionalData', 'bankGuarantee', 'amountGuarantee']);
                self::preparePostProperty($data, ['general', 'additionalData', 'bankGuarantee', 'amountGE']);
                self::preparePostProperty($data, ['general', 'additionalData', 'bankGuarantee', 'amountWithdraw']);
                self::preparePostProperty($data, ['general', 'additionalData', 'bankGuarantee', 'amountMaxWithdraw']);
                self::preparePostProperty($data, ['general', 'additionalData', 'bankGuarantee', 'transferDuration']);
                self::preparePostProperty($data, ['general', 'additionalData', 'bankGuarantee', 'nonPaymentMax']);
                self::preparePostProperty($data, ['general', 'additionalData', 'executionShouldStart']);
                self::preparePostProperty($data, ['general', 'additionalData', 'executionDuration']);
    
                foreach ($data['subject'] as $k => $subjects){
                    //data[subject][0][fromMtender][itemQuantity]
                    self::preparePostProperty($data, ['subject', $k, 'fromMtender', 'itemQuantity']);
                    self::preparePostProperty($data, ['subject', $k, 'additionalData', 'itemDetails', 'itemPrice', 'unitPrice', 'withoutVAT']);
                    self::preparePostProperty($data, ['subject', $k, 'additionalData', 'itemDetails', 'itemPrice', 'unitPrice', 'withVAT']);
                    self::preparePostProperty($data, ['subject', $k, 'additionalData', 'itemDetails', 'itemPrice', 'amountPrice', 'withoutVAT']);
                    self::preparePostProperty($data, ['subject', $k, 'additionalData', 'itemDetails', 'itemPrice', 'amountPrice', 'withVAT']);
    
                    foreach ($subjects['additionalData']['budget'] as $kb => $budgets){
                        self::preparePostProperty($data, ['subject', $k, 'additionalData', 'budget', $kb, 'budgetAmount']);
                    }
                }
    
                self::preparePostProperty($data, ['ca', 'additionalData', 'caPerson', 'caPersonCode']);
    
                self::preparePostProperty($data, ['eo', 'fromMtender', 'eoCode']);
                self::preparePostProperty($data, ['eo', 'additionalData', 'eoLicenses', 'eoValidityDuration']);
                self::preparePostProperty($data, ['eo', 'additionalData', 'eoPerson', 'eoPersonCode']);
    
                self::preparePostProperty($data, ['otherConditions', 'sla', 'deliveryDelayLiability', 'liabilityPercent']);
                self::preparePostProperty($data, ['otherConditions', 'sla', 'deliveryDelayLiability', 'liabilityPercentMax']);
                self::preparePostProperty($data, ['otherConditions', 'sla', 'paymentDelayLiability', 'liabilityPercent']);
                self::preparePostProperty($data, ['otherConditions', 'sla', 'paymentDelayLiability', 'liabilityPercentMax']);
                self::preparePostProperty($data, ['otherConditions', 'sla', 'maxPenalty']);
                self::preparePostProperty($data, ['otherConditions', 'sla', 'maxDelay']);
                self::preparePostProperty($data, ['otherConditions', 'sla', 'warrantyPeriod']);
                self::preparePostProperty($data, ['otherConditions', 'timeline', 'informOnSigned']);
                self::preparePostProperty($data, ['otherConditions', 'timeline', 'informOnFM']);
                self::preparePostProperty($data, ['otherConditions', 'timeline', 'informOnTermination']);
                self::preparePostProperty($data, ['otherConditions', 'timeline', 'respondOnTermination']);
                self::preparePostProperty($data, ['otherConditions', 'timeline', 'submitClaimsMax']);
                self::preparePostProperty($data, ['otherConditions', 'timeline', 'respondClaimsMax']);
                self::preparePostProperty($data, ['otherConditions', 'timeline', 'deliverOnClaims']);
            }
    
            self::appendPostDocuments($data, $documentsObjects);
    
            return $data;
        }

    ЧТОЕТА?

    dd3d, 20 Августа 2018

    Комментарии (10)
  6. Java / Говнокод #24639

    −1

    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
    public Pattern waitNotEmptyRegex(){
            String read;
            Pattern pattern;
    
            while (true) {
                try {
                    try {
                        read = in.readLine();
                        if (!read.trim().isEmpty()) {
                            pattern = Pattern.compile(read);
                        } else {
                            context.getOut().write(context.localizKey("console.messages.emptyString") + "\n");
                        }
                    } catch (PatternSyntaxException e) {
                        context.getOut().write(context.localizKey("console.messages.invalidPattern") + "\n");
                    }
                }catch (IOException e){
                    throw new IllegalStateException(e);
                }
            }
        }

    Боооольше вложенных блоков

    the-alator, 20 Августа 2018

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

    −7

    1. 1
    За "PHP"!

    LinuxGovno, 02 Августа 2018

    Комментарии (10)
  8. Си / Говнокод #24495

    −2

    1. 1
    argc

    Зачем нужен argc? Нельзя просто смотреть NULL-terminated argv?

    3_dar, 14 Июля 2018

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

    −2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    import re
    
    brabrebrized = lambda s, repl = r"бр\1": (
        re.sub(
            "[йцкнгшщзхъфвпрлджчсмтьб]+([аеёиоуыэюя])",
            repl,
            s,
            flags = re.IGNORECASE
        )
    )

    Я ебрабрубря и брабрибрал брабрибраброр бребров. брибрер:
    брибрит брёбра бра брабробре,
    бробрит ябра в абребробре.
    брибрия! брибрия!
    бря брабрубра брибряя!

    666_N33D135, 09 Июля 2018

    Комментарии (10)
  10. C++ / Говнокод #24363

    −1

    1. 1
    std::function<CPlayer*> pickedUp = nullptr;

    vadzz, 06 Июня 2018

    Комментарии (10)
  11. C++ / Говнокод #24195

    −6

    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
    /* Q: Can someone recommend a more elegant way to achieve these compile-time constants? */
    template <int> struct Map;
    template <> struct Map<0> {static const int value = 4;};
    template <> struct Map<1> {static const int value = 8;};
    template <> struct Map<2> {static const int value = 15;};
    
    template <int> struct MapInverse;
    template <> struct MapInverse<4> {static const int value = 0;};
    template <> struct MapInverse<8> {static const int value = 1;};
    template <> struct MapInverse<15> {static const int value = 2;};
    
    
    /* A: Another TMP approach for a linear search using C++11: */
    #include <type_traits>
    
    // === Types:
    // Usage:
    //    Function<Map<x1,y1>,Map<x2,y2>,...>
    template<int D, int R> struct Map { enum { domain=D, range=R }; };
    template<typename ...A> struct Function {};
    
    // === Metafunctions:
    // Usage:
    //    ApplyFunction<x,F>::value
    template<int I, typename M> struct ApplyFunction;
    // Usage:
    //    ApplyFunctionInverse<x,F>::value
    template<int I, typename M> struct ApplyFunctionInverse;
    
    // ==== Example:
    // Define function M to the mapping in your original post.
    typedef Function<Map<0,4>,Map<1,8>,Map<2,15>> M;
    
    // ==== Implementation details
    template<typename T> struct Identity { typedef T type; };
    template<int I, typename A, typename ...B> struct ApplyFunction<I, Function<A,B...> > {
       typedef typename
          std::conditional <I==A::domain
                           , Identity<A>
                           , ApplyFunction<I,Function<B...>> >::type meta;
       typedef typename meta::type type;
       enum { value = type::range };
    };
    template<int I, typename A> struct ApplyFunction<I, Function<A>> {
       typedef typename
           std::conditional <I==A::domain
                            , Identity<A>
                            , void>::type meta;
       typedef typename meta::type type;
       enum { value = type::range };
    };
    // Linear search by range
    template<int I, typename A> struct ApplyFunctionInverse<I, Function<A>> {
       typedef typename
           std::conditional <I==A::range
                            , Identity<A>
                            , void>::type meta;
       typedef typename meta::type type;
       enum { value = type::domain };
    };
    template<int I, typename A, typename ...B> struct ApplyFunctionInverse<I, Function<A,B...> > {
       typedef typename
           std::conditional <I==A::range
                            , Identity<A>
                            , ApplyFunctionInverse<I,Function<B...>> >::type meta;
       typedef typename meta::type type;
       enum { value = type::domain };
    };
    
    // ==============================
    // Demonstration
    #include <iostream>
    int main()
    {
       // Applying function M
       std::cout << ApplyFunction<0,M>::value << std::endl;
       std::cout << ApplyFunction<1,M>::value << std::endl;
       std::cout << ApplyFunction<2,M>::value << std::endl;
    
       // Applying function inverse M
       std::cout << ApplyFunctionInverse<4,M>::value << std::endl;
       std::cout << ApplyFunctionInverse<8,M>::value << std::endl;
       std::cout << ApplyFunctionInverse<15,M>::value << std::endl;
    }

    Элегантненько.
    s: https://stackoverflow.com/questions/26075969/compile-time-map-and-inverse-map-values

    gost, 25 Апреля 2018

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