1. PHP / Говнокод #3784

    +166

    1. 1
    fclose(fopen($filename, 'a')); // создадим файл

    http://habrahabr.ru/company/Techart/blog/100189/#comment_3096756

    TiGR, 26 Июля 2010

    Комментарии (13)
  2. bash / Говнокод #3783

    −126

    1. 1
    if [ "$PROJECTVERSION" -gt  "1.1.0" ; then

    Именно в таком виде найдено в проходящих письмах коммитницы.

    raorn, 26 Июля 2010

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

    −861

    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
    /* Ask Dian for changing this enormous DECODE */
          sprintf( ranges_sort_condition,
                   "DECODE(CONTRACT_ID, '%s', 1, 0) + "
                   "DECODE(ISS_INST, '%s', 2, 0) + "
                   "DECODE(ACQ_INST, '%s', 4, 0) + "
                   "DECODE(ISS_BIN, '%s', 8, 0) + "
                   "DECODE(TERM_TYPE, %d, 16, 0) + "
                   "DECODE(IS_PRIMARY_CARD, %d, 32, 0), "
                   "  0,  1,  64,  2,  32,  3,  16,  4,   4,  5,   8,  6,  96,  7,  80,  8,"
                   " 68,  9,  72, 10,  40, 11,  24, 12,  12, 13,   2, 14,  10, 15,  48, 16,"
                   " 36, 17, 104, 18,  88, 19,  76, 20,  66, 21,  74, 22, 112, 23, 100, 24,"
                   " 56, 25,  44, 26,  34, 27,  42, 28,  20, 29,  28, 30,  18, 31,   6, 32,"
                   " 26, 33,  14, 34,  52, 35,  60, 36, 124, 37,  50, 38,  38, 39,  22, 40,"
                   "118, 41, 122, 42, 110, 43,  94, 44, 126, 45,   1, 46,  65, 47,  97, 48,"
                   " 81, 49,   5, 50,  73, 51, 105, 52,  89, 53,  77, 54,  67, 55,  75, 56,"
                   "113, 57, 121, 58, 101, 59, 109, 60,  99, 61, 107, 62,  85, 63,  93, 64,"
                   " 83, 65,  71, 66,  91, 67,  79, 68, 117, 69, 125, 70, 115, 71, 103, 72,"
                   " 87, 73, 119, 74,  59, 75,  47, 76,  95, 77,  63, 78, 127, 79, 999",
                   "-1", DEFAULT_INST_ID, DEFAULT_INST_ID, "-1", TERM_TYPE_DEF, IS_PRIMARY_DEF );
    
          ora_sql_stmt_buff.len = sprintf( (char*)ora_sql_stmt_buff.arr, 
                                           "SELECT ACQ_INST, "
                                           "       ISS_INST, "
                                           "       ISS_BIN,  "
                                           "       TERM_TYPE, "
                                           "       MSGTYPE,  "
                                           "       TASK,     "
                                           "       REVERSAL, "
                                           "       CONTRACT_ID, "
                                           "       IS_PRIMARY_CARD, "
                                           "       TMPL_ID   "
                                           "  FROM T_TRANS_AUTH_ALG "
                                           " WHERE TRANS_TYPE = :ora_trans_type "
                                           " ORDER BY DECODE(%s)", ranges_sort_condition );

    Это хоть и на Си, но формирование запроса SQL, так что попадает сюда.
    Хоть бы комментарий какой написали, демоны!

    nil, 26 Июля 2010

    Комментарии (3)
  4. PHP / Говнокод #3781

    +159

    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
    $query = "
    	SELECT 	packet, info FROM packet ORDER BY info";
    $result = mysql_query($query);
    while ($row = mysql_fetch_array($result)) /* Тут очень много строк */
    {
    	/*Тут один очень жирный запрос*/
    	/* ... */
    	$res8 = mysql_query("SELECT date FROM analiz_packet2 WHERE date='$dnow' LIMIT 1");
    		
    	if (mysql_num_rows($res8) == 0)
    	{
    		echo "<td align=right>{$r[2]}</td>";
    	}
    	
    	echo "<td align=right>{$r[3]}</td>";
    	
    	$res2 = mysql_query("SELECT date FROM analiz_packet2 WHERE date='$dnow' LIMIT 1	");
    	/* Unknown date */
    	if (mysql_num_rows($res2) == 1)
    	{
    		/*Тут еще несколько SQL запросов*/
    	}
    	
    	/* ... */
    }

    Два ядра грузятся на 178% по данным top-а

    Werdn, 26 Июля 2010

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

    +119

    1. 1
    2. 2
    3. 3
    4. 4
    percentDiscount = Math.Round( Math.Round( (toChequeLine.AmountDose - fromChequeLine.Amount) /
                                                                                      toChequeLine.AmountDose * 100, 6,
                                                                                      MidpointRounding.AwayFromZero)
                                                            , 1, MidpointRounding.AwayFromZero);

    Вычисляем процент с округлением до первого знака.

    markbrutt, 26 Июля 2010

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

    +133

    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
    count=15;
    a=15;
    b=2.5;
    ...
    function addlistbox()
    	i=1;
    	while i<=count do
    		INIFile.SetValue("temp.ini", "temp", i, a);
    		end
    i=1;
    while i<=count do
    ttt=INIFile.GetValue("temp.ini", "temp", i);
    INIFile.SetValue("temp.ini", "temp", i, Math.Pow(ttt, b*i));
    end
    i=1;
    while i<=count do
    	ttt=INIFile.GetValue("temp.ini", "temp", i);
    	ListBox.AddItem("stepeni", i, ttt); 
    	end
    end

    Приятель прислал.
    всю эту прелесть можно написать так:
    function addlistbox(a,b,count)
    for i=1,count do
    ListBox.AddItem("stepeni", i, Math.Pow(a, b*i));
    end
    end

    XyHb, 25 Июля 2010

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

    +170

    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
    star1.onmouseover = function () {
    star1.className = 'selected';
    }
    star1.onmouseout = function () {
    star1.className = 'not-selected';
    }
    star2.onmouseover = function () {
    star1.className = 'selected';
    star2.className = 'selected';
    }
    star2.onmouseout = function () {
    star1.className = 'not-selected';
    star2.className = 'not-selected';
    }
    star3.onmouseover = function () {
    star1.className = 'selected';
    star2.className = 'selected';
    star3.className = 'selected';
    }
    star3.onmouseout = function () {
    star1.className = 'not-selected';
    star2.className = 'not-selected';
    star3.className = 'not-selected';
    }
    star4.onmouseover = function () {
    star1.className = 'selected';
    star2.className = 'selected';
    star3.className = 'selected';
    star4.className = 'selected';
    }
    star4.onmouseout = function () {
    star1.className = 'not-selected';
    star2.className = 'not-selected';
    star3.className = 'not-selected';
    star4.className = 'not-selected';
    }
    star5.onmouseover = function () {
    star1.className = 'selected';
    star2.className = 'selected';
    star3.className = 'selected';
    star4.className = 'selected';
    star5.className = 'selected';
    }
    star5.onmouseout = function () {
    star1.className = 'not-selected';
    star2.className = 'not-selected';
    star3.className = 'not-selected';
    star4.className = 'not-selected';
    star5.className = 'not-selected';
    }

    Реализация звёздочек для рейтинга. При наведении мышкой на звёздочку все предшествующие ей звёздочки "загораются", при отведении — "потухают".

    eval, 25 Июля 2010

    Комментарии (16)
  8. JavaScript / Говнокод #3777

    +165

    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
    // Color and text
    // -- Безупречный
    if (nScore >= 90)
    {
    var strText = "Отличный пароль! Главное не забыть его :) ";
    var strColor = "#0ca908";
    }
    // -- Очень хороший
    else if (nScore >= 80)
    {
    var strText = "Очень хороший";
    vstrColor = "#7ff67c";
    }
    // -- Хороший
    else if (nScore >= 70)
    {
    var strText = "Хороший";
    var strColor = "#1740ef";
    }
    // -- Давольно нормальный
    else if (nScore >= 60)
    {
    var strText = "Достаточно неплохо";
    var strColor = "#5a74e3";
    }
    // -- Нормальный
    else if (nScore >= 50)
    {
    var strText = "Нормально";
    var strColor = "#e3cb00";
    }
    // -- Слабый
    else if (nScore >= 25)
    {
    var strText = "Слабенько";
    var strColor = "#e7d61a";
    }
    // -- Очень плохой
    else
    {
    var strText = "Ужас. (qwerty и то лучше :) ) ";
    var strColor = "#e71a1a";
    }

    else if (nScore >= 25)
    {
    var strText = "Слабенько";
    var strColor = "#e7d61a"; // -- Слабенько?WTF???????
    }

    Взято с блога великого кодера darkoff.ru

    BlincAttack, 25 Июля 2010

    Комментарии (19)
  9. ActionScript / Говнокод #3776

    −172

    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
    UTF8 = {
        encode: function(str){
            for(var c:String, i:Number = -1, l:Number = (str = str.split("")).length, o:Function = String.fromCharCode; ++i < l;
                str[i] = (c = str[i].charCodeAt(0)) >= 127 ? o(0xc0 | (c >>> 6)) + o(0x80 | (c & 0x3f)) : str[i]
            );
            return str.join("");
        },
        decode: function(str){
            for(var a:Array, b:Array, i:Number = -1, l:Number = (str = str.split("")).length, o:Function = String.fromCharCode, c:String = "charCodeAt"; ++i < l;
                ((a = str[i][c](0)) & 0x80) &&
                (str[i] = (a & 0xfc) == 0xc0 && ((b = str[i + 1][c](0)) & 0xc0) == 0x80 ?
                o(((a & 0x03) << 6) + (b & 0x3f)) : o(128), str[++i] = "")
            );
            return str.join("");
        }
    };

    Это чудо народного зодчества было предложено в качестве конвертора из ASCII в UTF8 и обратно. Проблема осложняется тем, что человек так делает в полной уверенности, что он что-то соптимизировал. (Ну и конечно, китайцы со своими иероглифами, как всегда в пролете, а так же французы со своими диакритиками, поляки, немцы и т.д.). То что страдает типизация и инкапсуляция, просто меркнет перед форматированием и полным отсутствием здравого смысла.
    http://www.kirupa.com/forum/showthread.php?t=351816

    wvxvw, 25 Июля 2010

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

    +166

    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
    switch(count($Args)) {
             case 0:
                $Result = new $ClassName; break;
             case 1:
                $Result = new $ClassName($Args[0]); break;
             case 2:
                $Result = new $ClassName($Args[0], $Args[1]); break;
             case 3:
                $Result = new $ClassName($Args[0], $Args[1], $Args[2]); break;
             case 4:
                $Result = new $ClassName($Args[0], $Args[1], $Args[2], $Args[3]); break;
             case 5:
                $Result = new $ClassName($Args[0], $Args[1], $Args[2], $Args[3], $Args[4]); break;
             case 6:
                $Result = new $ClassName($Args[0], $Args[1], $Args[2], $Args[3], $Args[4], $Args[5]); break;
             case 7:
                $Result = new $ClassName($Args[0], $Args[1], $Args[2], $Args[3], $Args[4], $Args[5], $Args[6]); break;
             case 8:
                $Result = new $ClassName($Args[0], $Args[1], $Args[2], $Args[3], $Args[4], $Args[5], $Args[6], $Args[7]); break;
             default:
                throw new Exception();
          }

    Взято из форума Vanilla 2...

    И еще в одном файле подобное library/core/class.dispatcher.php (со строки 267).

    Александр Михалицын, 24 Июля 2010

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