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

    −122

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Функция ВыделитьНалог(СуммаСНалогом,Ставка)
            Если Ставка<>-100 Тогда
                    Возврат(Ставка*СуммаСНалогом/(100+Ставка));
            Иначе
                    Сообщить("Налог не рассчитан");
                    Возврат(0);
            КонецЕcли;
    КонецФункции

    В одном продукте, имеющем сертификат 1с Совместимо!

    Нет, с программерской точки зрения верно. Только как ставка налога может быть минус сто процентов? O.o

    nslz, 16 Декабря 2009

    Комментарии (15)
  2. Куча / Говнокод #2288

    +130

    1. 1
    2. 2
    for INPUTFILE in `ls ${_BUILD_DIR}/db/full/migrate[0-9].sql`; do
    	STAGE=`basename $INPUTFILE | awk -F "" '{print $8}'`

    Я видел много, но чтобы ТАК получали символ из строки...
    awk - поистине многофункциональный язык!

    nil, 16 Декабря 2009

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

    −110.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
    my $style_doc = $parser->parse_string(q~
       ... Здесь идёт нормальный такой шаблон xslt
    ~);
    my $stylesheet = $xslt->parse_stylesheet($style_doc);
    
    my $results = $stylesheet->transform( $source );
    my $shit = $stylesheet->output_string($results);
    
    $shit =~ s%(<table.*?<table.*?</table>.*?</table>)\s*(<table.*?<table.*?</table>.*?</table>)\s*(<table.*?<table.*?</table>.*?</table>)%<tr><td valign="top">$1</td><td valign="top">$2</td><td valign="top">$3</td></tr>%gs;
    
    $shit = qq{<table cellpadding="0" cellspacing="8" border="0">${shit}</table>};
    print 'document.write('.JsUtils::js_object($shit).');';

    В xslt, очевидно, всё не осилили - добъём регуляркой :)

    Suor, 16 Декабря 2009

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

    +139.4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    var viewsId = new List<int>(views.Select(v => v.ViewId).Distinct());
    
    var sviewsId = "," + String.Join(",", viewsId.Select(i => i.ToString()).ToArray()) + ",";
    
    _total = (from d in context.TableA
                                      join uvd in context.TableB on d.DocID equals uvd.DocID
                                      join uv in context.TableC on uvd.ID equals uv.ID
                                      where sviewsId.IndexOf("," + uv.ID.ToString() + ",") > 0
                                      select d.DocID)
                                      .Distinct ()
                                      .Count ();

    Оригинальный способ обойти ограничение на 2100 параметров. А как быстро оно будет работать!
    views, разумеется, из того же контекста.

    eval_2009, 16 Декабря 2009

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

    +143.7

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    #define true false
    
    ...
    
    
    #define double int
    
    ...
    
    
    #define TRUE FALSE
    // удачной отладки суки

    4cppMan, 16 Декабря 2009

    Комментарии (6)
  6. Си / Говнокод #2284

    +133.4

    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
    /****************************************************************************
     #if !(TARGET_IS_NT50_OR_LATER)
    #error You need a Windows 2000 or later to run this stub because it uses these features:
    #error   /robust command line switch.
    #error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.
    #error This app will die there with the RPC_X_WRONG_STUB_VERSION error.
    #endif
    
    
    ...
    
    где-то глубоко
    
    
    *  Macros for targeted platforms
     ****************************************************************************/
    
    #if (0x501 <= _WIN32_WINNT)
    #define TARGET_IS_NT51_OR_LATER                   1
    #else
    #define TARGET_IS_NT51_OR_LATER                   0
    #endif
    
    #if (0x500 <= _WIN32_WINNT)
    #define TARGET_IS_NT50_OR_LATER                   1
    #else
    #define TARGET_IS_NT50_OR_LATER                   0
    #endif
    
    #if (defined(_WIN32_DCOM) || 0x400 <= _WIN32_WINNT)
    #define TARGET_IS_NT40_OR_LATER                   1
    #else
    #define TARGET_IS_NT40_OR_LATER                   0
    #endif
    
    #if (0x400 <= WINVER)
    #define TARGET_IS_NT351_OR_WIN95_OR_LATER         1
    #else
    #define TARGET_IS_NT351_OR_WIN95_OR_LATER         0
    #endif

    Код , сгенерированный компилятором MIDL для dll прокси/заглушки COM объекта.
    VS2005 :)

    4cppMan, 15 Декабря 2009

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

    +159.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
    function dump_link($dump_id)
    {
    $a = date(G);
    $b = date(i);
    $c = date(s);
    $day = date(j);
    $mouth = date(n);
    $year = date(Y);
    $utc = date(Z);
    $int = mktime($a, $b, $c, $mouth, $day, $year);
    
    ...
    
    }

    Наш ответ функции time()!

    thexyz, 15 Декабря 2009

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

    +99.7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    foreach (char c in customField.CustomFieldId.ToLower()
                    .Replace("CustomField".ToLower(), String.Empty))
    {
                    if (c < '0' || c > '9') fieldName += c;
    }

    Догадайтесь что он делает

    arctic, 15 Декабря 2009

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

    +135.7

    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
    private void Form1_Load(object sender, EventArgs e)
            {
                List<defaultItem> EqQty = new List<defaultItem>();
                EqQty.Add(new defaultItem(1, 1.ToString()));
                EqQty.Add(new defaultItem(2, 2.ToString()));
                EqQty.Add(new defaultItem(3, 3.ToString()));
                EqQty.Add(new defaultItem(4, 4.ToString()));
                EqQty.Add(new defaultItem(5, 5.ToString()));
    
                cbEqQty.DataSource = EqQty;
                cbEqQty.ValueMember = "Key";
                cbEqQty.DisplayMember = "Value";
    
                List<defaultItem> PlusQty = new List<defaultItem>();
                PlusQty.Add(new defaultItem(1, 1.ToString()));
                PlusQty.Add(new defaultItem(2, 2.ToString()));
                PlusQty.Add(new defaultItem(3, 3.ToString()));
                PlusQty.Add(new defaultItem(4, 4.ToString()));
                PlusQty.Add(new defaultItem(5, 5.ToString()));
    
                cbPlusQty.DataSource = PlusQty;
                cbPlusQty.ValueMember = "Key";
                cbPlusQty.DisplayMember = "Value";
    }
    
    
    public class defaultItem
        {
            public int Key { get; set; }
    
            public String Value { get; set; }
            /// <summary>
            /// Коснтруктор
            /// </summary>
            /// <param name="Key"></param>
            /// <param name="Value"></param>
            public defaultItem
                (
                int Key,
                String Value
                )
            {
                this.Key = Key;
                this.Value = Value;
            }
        }

    Надо было два дропдауна при загрузке формы заполнить))

    zodchiy, 15 Декабря 2009

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

    −864.1

    1. 1
    2. 2
    3. 3
    4. 4
    select nvl2(view."DOC_TYPE", view."DOC_TYPE", '')||
               nvl2(view."SDOC", ', серия:'||view."SDOC", '')||
               nvl2(view."NDOC", ', номер:'||view."NDOC", '')|| 
    ... from view

    Это всё в Оракле

    asdqwezx, 14 Декабря 2009

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