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

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

    −90

    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
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    public static function padToTwoDigits(value:int):String
    {
    	if(value < 10)
    		return "0" + value.toString();
    	else
    		return value.toString();
    }
    
    /**
     * returns 00:00 format
     * 
     * @param  miliseconds 
     */
    public static function time_format(miliseconds:Number):String{
    	var recorded_time_lbl:String = '';
    	
    	var seconds:Number = miliseconds/1000;
    	var minutes:uint = seconds / 60;
    
    	var seconds_remain:uint = seconds - (minutes*60);
    
    	var sec_lbl:String = '';
    	if(seconds_remain<10){
    		sec_lbl = '0'+seconds_remain;
    	}else{
    		sec_lbl = ''+seconds_remain;
    	}
    	var min_lbl:String = '';
    	if(minutes<10){
    		min_lbl = '0'+minutes;
    	}else{
    		min_lbl = ''+ minutes;
    	}
    	
    	recorded_time_lbl = min_lbl + ':' + sec_lbl;
    	return recorded_time_lbl;
    	//--
    	var recorded_time:String = (miliseconds/100000).toFixed(2) ;
    	
    	if(recorded_time.length == 5) // 23.22
    		recorded_time_lbl = recorded_time.substr(0,2)+':'+recorded_time.substr(3);
    	else if(recorded_time.length == 4) // 4.26
    		recorded_time_lbl = '0'+recorded_time.substr(0,1)+':'+recorded_time.substr(2);
    	
    	return recorded_time_lbl;
    }
    /**
    * limits a string to a specified length and adds '...' at the end of it
    */ 
    public static function trim(s:String,limit:uint):String{
    	if(s.length > limit){
    		s = s.substr(0,limit-4) + '...';
    	}
    	return s;
    }
    
    public static function formatTime(value: Number): String
    {
    	if (isNaN(value) || (value < 0))
    	{
    		return "0:0";
    	}
    	var formatedTime: Array = formateTimeToIntArr(value);
    	var minutes: int = formatedTime[1];
    	if (minutes < 0)
    	{
    		return "0:0";
    	}
    	var seconds: int = formatedTime[0];
    	var timevalue: String = minutes + ":";
    
    	if (seconds < 10)
    	{
    		timevalue += "0";
    	}
    
    	timevalue = timevalue + seconds;
    
    	return timevalue;
    }
    
    public static function formateTimeToIntArr(value: Number): Array
    {
    	var result: Array = [0, 0];
    	if (!isNaN(value))
    	{
    		var minutes: int = value / 60;
    		var seconds: int = value % 60;
    		if (!(minutes < 0))
    		{
    			result = [seconds, minutes];
    		}
    	}
    	return result;
    }

    Я понимаю, что много, но количество тут играет определенную роль. Это только небольшая часть файла вспомогательных функций для форматирования времени, дат и т.п. В какой-то степени удручает еще и неизобретательность автора, последовательно наступающих на те же самые грабли и даже ни на секунду не задумавшегося о предназначении...

    wvxvw, 25 Января 2015

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

    +137

    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
    // For a portable version of timegm(), set the TZ environment variable  to
    // UTC, call mktime(3) and restore the value of TZ.  Something like
    
    #include <time.h>
    #include <stdlib.h>
    
    time_t
    my_timegm(struct tm *tm)
    {
        time_t ret;
        char *tz;
    
        tz = getenv("TZ");
        if (tz)
            tz = strdup(tz);
        setenv("TZ", "", 1);
        tzset();
        ret = mktime(tm);
        if (tz) {
            setenv("TZ", tz, 1);
            free(tz);
        } else
            unsetenv("TZ");
        tzset();
        return ret;
    }

    Цитата из man timegm. Сборка unix timestamp из компонент (год, месяц и т.п.).

    Удобно, наглядно, потокобезопасно.

    bormand, 23 Января 2015

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function calcHTime($stt) {
            $secs   = time() - $stt;
            $h      = (int) ($secs / 3600);
            $m      = (int) (($secs - ($h * 3600)) / 60);
            $s      = (int) ($secs - ($h * 3600) - ($m * 60));
            return sprintf("%02d:%02d:%02d", $h, $m, $s);
    }

    dannikonov, 23 Января 2015

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

    +54

    1. 1
    ((Dialog*)parent)->getSquareStorage()->at(((Dialog*)parent)->getSquareStorage()->size() / 2)->setColor(0,0,0);

    Qt. Я естественно сразу же переписал этот шлак

    artembegood, 15 Января 2015

    Комментарии (1)
  6. Pascal / Говнокод #17429

    +86

    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
    function TSnifferMainForm.GetSetInjected(pID:Cardinal; Get:Boolean=False):Boolean;
    type rParam=record _pID:Cardinal; _Get,_Res:Boolean; end;
    const PE_STR='*RODC_PE ';
    var Params:rParam;
    function ProcCloseEnum(Handle:THandle; _Params:Integer):BOOL; stdcall;
    var TempPID:Cardinal; hCap:string; lCap:integer;
    begin
    Result:=True;
    GetWindowThreadProcessId(Handle,TempPID);
    if TempPID=rParam(Pointer(_Params)^)._pID then begin
    lCap:=SendMessage(Handle,WM_GETTEXTLENGTH,0,0);
    lCap:=lCap+1;
    SetLength(hCap,lCap-1);
    SendMessage(Handle,WM_GETTEXT,lCap,LongInt(@hCap[1]));
    if not rParam(Pointer(_Params)^)._Get then if Pos(PE_STR,hCap)=0 then SetWindowText(Handle,PAnsiChar(PE_STR+hCap)) else SetWindowText(Handle,PAnsiChar(StringReplace(hCap,PE_STR,'',[rfReplaceAll])))
    else if Pos(PE_STR,hCap)<>1 then rParam(Pointer(_Params)^)._Res:=False else rParam(Pointer(_Params)^)._Res:=True;
    Result:=False; end;
    end;
    begin
    Params._pID:=pID; Params._Get:=Get;
    EnumWindows(@ProcCloseEnum,Integer(@Params));
    Result:=Params._Res;
    end;

    Нет, сраный коллбек, я сделаю тебя локальным чего бы мне это не стоило!

    KOTOM, 12 Января 2015

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

    +156

    1. 1
    document.write('Well, I broke your script');

    Я знаю что document.write это плохо, но использование document.write ломает jsfiddle :D
    http://jsfiddle.net/volter9/x29Lzvu6/

    volter9, 05 Января 2015

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

    +162

    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
    if ($n > '25') {
        $list = floor($n / 25) + 1;
        $str .= '<div id="srt_page" align="center">';
        for ($q = 1; (($q) <= $list); $q++) {
            if ((((isset($_GET['page'])) && ($_GET['page'] == $q)) || ((!isset($_GET['page'])) && ($q == 1))))
                $str .= ' <b>' . $q . '</b> ';
            else {
                if ((($q == ($pg - 1)) && (($pg - 1) != 1) && (($pg - 1) != $list)) || (($q == ($pg - 2)) && (($pg - 2) != 1) && (($pg - 2) != $list)) || (($q == ($pg - 3)) && (($pg - 3) != 1) && (($pg - 3) != $list)) || (($q == ($pg - 4)) && (($pg - 4) != 1) && (($pg - 4) != $list)) || (($q == ($pg + 1)) && (($pg + 1) != 1) && (($pg + 1) != $list)) || (($q == ($pg + 2)) && (($pg + 2) != 1) && (($pg + 2) != $list)) || (($q == ($pg + 3)) && (($pg + 3) != 1) && (($pg + 3) != $list)) || (($q == ($pg + 4)) && (($pg + 4) != 1) && (($pg + 4) != $list)) || ($q == $list) || ($q == 1)) {
                    if (($q == $list) && (($pg + 4) < ($list - 1)))
                        $str .= '...';
                    $str .= ' <a class="link_page" href="?page=' . $q . '"> ' . $q . ' </a> ' . "\n";
                    if (($q == 1) && (($pg - 4) > 2))
                        $str .= '...';
                }
            }
        }
        $str .= '</div>';
    }
    return $str;

    Кто не понял, это такой pagination %))

    AgentSIB, 30 Декабря 2014

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

    +150

    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
    <html>
        <head>
            <title>Paymentwall. Тестовое задание</title>
            <meta charset="UTF-8">
            <meta name="viewport" content="width=device-width, initial-scale=1.0">
        </head>
        <body>
            <div align="center">
                <h1>Задание</h1>
                Написать решение c использованием ООП, которое позволяет переводить целые числа в каком-нибудь диапазоне (c миллионами включительно) в текст ( разговорный)<br>
                на трех языках (рус., англ., укр.)
            </div>
            <form action="receivenumber.php" method="post">
                <label for="textnumber">Число:</label>
                <input type="number" id="textnumber" name="textnumber" required 
                       min="-9999999" max="9999999" step="1"/><br>
                <label for="selectlanguage">Выбирите язык:</label>
                <select id="selectlanguage" name="selectlanguage">
                    <option value="eng">English</option>
                    <option value="ukr">Ukrainian</option>
                    <option value="rus" selected>Russian</option>
                </select><br>
                <input type="submit" name="submitnumber" value="Отправить"><br>
            </form>
        </body>
    </html>

    А это файл "index.html", который передает данные скрипту "receivenumber.php".

    ppd, 23 Декабря 2014

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

    +120

    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
    <html>
        <head>
            <title>Тест</title>
            <meta charset="UTF-8">
            <meta name="viewport" content="width=device-width, initial-scale=1.0">
        </head>
        <body>
            <div align="center">
                <h1>Задание</h1>
                Написать решение c использованием ООП, которое позволяет переводить целые числа в каком-нибудь диапазоне (c миллионами включительно) в текст ( разговорный)<br>
                на трех языках (рус., англ., укр.)
            </div>
            <form action="receivenumber.php" method="post">
                <label for="textnumber">Число:</label>
                <input type="number" id="textnumber" name="textnumber" required 
                       min="-9999999" max="9999999" step="1"/><br>
                <label for="selectlanguage">Выбирите язык:</label>
                <select id="selectlanguage" name="selectlanguage">
                    <option value="eng">English</option>
                    <option value="ukr">Ukrainian</option>
                    <option value="rus" selected>Russian</option>
                </select><br>
                <input type="submit" name="submitnumber" value="Отправить"><br>
            </form>
        </body>
    </html>

    А это файл "index.html", который передает данные скрипту "receivenumber.php"

    ppd, 23 Декабря 2014

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    require_once 'numberspelling.php';
    $number=$_POST['textnumber'];
    $language=$_POST['selectlanguage'];
    $numberspellingobj=new numberspelling($number, $language);
    $spelling=$numberspellingobj->spell();
    echo $spelling;

    Это файл "receivenumber.php", который получает данные от клиента (число и язык).

    ppd, 23 Декабря 2014

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