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

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

    +132

    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
    private NpgsqlDbType GetDbType(Type clrType, bool large = false)
            {
                if (clrType == null)
                    throw new ArgumentNullException("clrType");
    
                // Try to get underlying type if it is nullable type.
                clrType = Nullable.GetUnderlyingType(clrType) ?? clrType;
    
                if (clrType == typeof(int) || clrType == typeof(uint))
                {
                    return NpgsqlDbType.Integer;
                }
                else if (clrType == typeof(byte) || clrType == typeof(sbyte) || clrType == typeof(short) || clrType == typeof(ushort))
                {
                    return NpgsqlDbType.Smallint;
                }
                else if (clrType == typeof(long) || clrType == typeof(ulong))
                {
                    return NpgsqlDbType.Bigint;
                }
                else if (clrType == typeof(double))
                {
                    return NpgsqlDbType.Double;
                }
                else if (clrType == typeof(float))
                {
                    return NpgsqlDbType.Real;
                }
                else if (clrType == typeof(decimal))
                {
                    return NpgsqlDbType.Numeric;
                }
                else if (clrType == typeof(bool))
                {
                    return NpgsqlDbType.Boolean;
                }
                else if (clrType == typeof(string))
                {
                    return large ? NpgsqlDbType.Text : NpgsqlDbType.Varchar;
                }
                else if (clrType == typeof(char))
                {
                    return NpgsqlDbType.Char;
                }
                else if (clrType == typeof(DateTime))
                {
                    return NpgsqlDbType.Timestamp;
                }
                else if (clrType == typeof(Guid))
                {
                    return NpgsqlDbType.Uuid;
                }
                else if (typeof(Array).IsAssignableFrom(clrType))
                {
                    return NpgsqlDbType.Array | GetDbType(clrType.GetElementType(), large);
                }
                else
                    throw new NotSupportedException(string.Format("Not supported clr type {0} to convert {1}.", clrType.FullName, typeof(NpgsqlDbType).FullName));
            }

    определение типа

    mrg, 18 Июля 2014

    Комментарии (9)
  3. 1C / Говнокод #16361

    −166

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    итСумма = 0;
    иткол = 0;
    Для каждого стр из комплектующие Цикл
    	итсумма = итсумма + стр.Суммаплан;
    	иткол = иткол + стр.КоличествоБезПотерь;
    Конеццикла;

    Зашел в базу, а там вот это... повторяется...раза 4

    Cascader, 17 Июля 2014

    Комментарии (9)
  4. Java / Говнокод #16275

    +76

    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
    String str = "";
               str  = str.concat(
                            ((code1.length() == 0 || code1.startsWith("00")) ? "77" : (code1.length() == 1) ? "0".concat(code1) : code1)
                    ).concat(
                            ((code2.length() == 0) ? "000" : (code2.length() == 1) ? "00".concat(code2) : (code2.length() == 2) ? "0" : code2
                    ).concat(
                            ((code3.length() == 0) ? "000" : (code3.length() == 1) ? "00".concat(code3) : (code3.length() == 2) ? "0".concat(code3) : code3)
                    ).concat(
                            ((code4.length() == 0) ? "000" : (code4.length() == 1) ? "00".concat(code4) : (code4.length() == 2) ? "0".concat(code4) :code4)
                    ).concat(
                            ((code5.length() == 0) ? "0000" : (code5.length() == 1) ? "000".concat(code5) : (code5.length() == 2) ? "00".concat(code5) : (code5.length() == 3) ? "0".concat(code5) : code5)
                    ).concat("00")
                );

    Форматирования 5 чисел по заданному шаблону. А если бы нужно было догнать до 100 нулей?)

    timmson666, 03 Июля 2014

    Комментарии (9)
  5. Java / Говнокод #16160

    +72

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    Date convertedDate = new Date();
    		SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy:MM:dd",
    				Locale.getDefault());
    
    		try {
    			convertedDate = dateFormatter.parse("" + year + ":" + month + ":"
    					+ day);
    		} catch (ParseException e) {
    			e.printStackTrace();
    		}
    		SimpleDateFormat fmtOut = new SimpleDateFormat("MM/dd/y");
    		String curDate = fmtOut.format(convertedDate).toString();

    andrew91, 13 Июня 2014

    Комментарии (9)
  6. C# / Говнокод #16034

    +135

    1. 1
    2. 2
    3. 3
    var methods = from mi in typeof(T).GetMethods()
    	  where !mi.IsAbstract && mi.Name == methodName
    	  select mi;

    LINQ over Reflection

    kostoprav, 21 Мая 2014

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

    +153

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    <?php foreach ($category_1['children'] as $category_2) { ?>
            <?php if ($category_2['category_id'] == $category_id) { ?>
            <option value="<?php echo $category_2['category_id']; ?>" selected="selected">      <?php echo $category_2['name']; ?></option>
            <?php } else { ?>
            <option value="<?php echo $category_2['category_id']; ?>">      <?php echo $category_2['name']; ?></option>
            <?php } ?>
            <?php foreach ($category_2['children'] as $category_3) { ?>
            <?php if ($category_3['category_id'] == $category_id) { ?>
            <option value="<?php echo $category_3['category_id']; ?>" selected="selected">            <?php echo $category_3['name']; ?></option>
            <?php } else { ?>
            <option value="<?php echo $category_3['category_id']; ?>">            <?php echo $category_3['name']; ?></option>
            <?php } ?>

    Код вида поиска из известной модификации CMS Opencart - Maxystore.

    bestaimer, 15 Мая 2014

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

    +131

    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
    #include <stdio.h>
    #include <stdint.h>
    
    #define ARR_L 11
    #define INS_P (arr[0])
    #define MOD_L(a) ((a) % ARR_L)
    #define INS_P_M (MOD_L(INS_P))
    #define ARR_ACS(a) (arr[MOD_L(a)]) //access to arr
    
    
    void foo (uint8_t *arr)
    {
      if (ARR_ACS(0) == 0)
      {
        printf("%u ", ARR_ACS(1));
        ARR_ACS(1) += ARR_ACS(2);
        ARR_ACS(0) = 1;
      }
      else
      {
        printf("%u ", ARR_ACS(2));
        ARR_ACS(2) += ARR_ACS(1);
        ARR_ACS(0) = 0;
      }
    
    }
    
    int main(void) {
      uint8_t arr[ARR_L] = {1,1,1,0,0,0,0,0,0,0,0};
      for (size_t a = 0; a < 13; a++)
      {
        foo(arr);
      }
      return 0;
    }

    Считалка чисел Фибоначчи на основе фигни, придуманной в http://govnokod.ru/15967
    Надо сделать метаязык для удобного составления набора инструкций для этой штуки. И еще надо осилить длинную арифметику, ну это вообще круто будет

    j123123, 14 Мая 2014

    Комментарии (9)
  9. 1C / Говнокод #15931

    −126

    1. 1
    2. 2
    3. 3
    4. 4
    Запрос = Новый Запрос("
    |ВЫБРАТЬ ПЕРВЫЕ 1000
    |.....");
    ВыборкаДанных = Запрос.Выполнить().Выгрузить();

    Код из правила выгрузки данных с произвольным запросом.
    Ведущий программист: "Блин, почему каждый раз выгружается разное количество объектов? Это же мистика!!!"

    Voittamaton, 06 Мая 2014

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

    +154

    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
    ....
    
     static public $ruFullMontsArr = array(
            '01' => 'января',
            '02' => 'февраля',
            '03' => 'марта',
            '04' => 'апреля',
            '05' => 'мая',
            '06' => 'июня',
            '07' => 'июля',
            '08' => 'августа',
            '09' => 'сентября',
            '10' => 'октября',
            '11' => 'ноября',
            '12' => 'декабря'
        );
        static public $ruShortMontsArr = array(
            '01' => 'Янв',
            '02' => 'Фев',
            '03' => 'Мар',
            '04' => 'Апр',
            '05' => 'Май',
            '06' => 'Июн',
            '07' => 'Июл',
            '08' => 'Авг',
            '09' => 'Сен',
            '10' => 'Окт',
            '11' => 'Ноя',
            '12' => 'Дек'
        );
    
    ....
    
     $add_ins = '<ins>' . date( 'd', $model->date ) . ' ' . self::$ruFullMontsArr[date( 'm', $model->date )] . '</ins>';

    наверное уже не впервые подобное ... Получение название месяца ...

    BroadcastAddress, 05 Мая 2014

    Комментарии (9)
  11. PHP / Говнокод #15878

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    function getLocaleByLang($lang) {
       if(!isset($lang)) return false;
       //function's code is here...
    }

    Ну думаю тут все понятно - зачем проверять существование переменной, которую невозможно не передать) Вот что значит - дедлайн рядом.

    Heian, 01 Мая 2014

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