1. 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)
  2. 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)
  3. 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)
  4. PHP / Говнокод #3774

    +144

    1. 1
    if ( function() == fales )

    опечатался))

    DmitryDick, 24 Июля 2010

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

    +130

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    function Wait-ProcessStart{
    param([string]$PName)
    $pname = $PName
    $started = $false
    $countONstart = if((Get-Process|Where{$_.Name -eq $pname}).Length -eq $null){if((Get-Process|Where{$_.Name -eq $pname}).Name -eq $null){0}else{1}}else{(Get-Process|Where{$_.Name -eq $pname}).Length}
    while($started -eq $false){
    $ccount = if((Get-Process|Where{$_.Name -eq $pname}).Length -eq $null){if((Get-Process|Where{$_.Name -eq $pname}).Name -eq $null){0}else{1}}else{(Get-Process|Where{$_.Name -eq $pname}).Length}
    if($ccount -le $countONstart){$countONstart = $ccount;continue}
    if($ccount -gt $countONstart){$started = $true}
    }
    }

    Это мой высер вместо WMI-событий.
    Ждем запуска процесса с определенным именем.

    x0wl, 23 Июля 2010

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

    −130

    1. 1
    sed '/^[:space:]*$/d'

    Проблема была: помимо пустых строк код ВНЕЗАПНО удалял строчки, состоящие из слова "as" (через этот код проходят SQL-скрипты).

    checkist, 23 Июля 2010

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

    +156

    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
    <?php
    
    class Control {
    
        const
        ENV_VAR = 'REQUEST_URI',
        DIR = _SCRIPT,
        MAIN = 'default',
        FILENAME_MASK = '%s.ctrl.php',
        CHAR = '.';
    
        private static function _parametrize(&$var) {
            static $params = null;
            (null === $params) && ($params =& self::$_params);
    
            ((is_numeric($var))
                    && (($params[] = $var) || 1)
                    || (self::CHAR === $var[0])
                            && (($params[] = substr($var, 1)) || 1)
                    || (false !== ($dot = strpos($var, self::CHAR)))
                            && (($params[substr($var, 0, $dot)] = substr($var, $dot + 1)) || 1))
                    && ($var = null);
        }
    
    
        public static function call($name, $_PARAMS = array()) {
            static $_TPL = null;
            (null === $_TPL) && ($_TPL =& $GLOBALS['_TPL']);
            static $_DATA = null;
            (null === $_DATA) && ($_DATA =& $GLOBALS['_DATA']);
            static $_MY = -1;
            (-1 === $_MY) && ($_MY =& $GLOBALS['_MY']);
    
            $filename = self::DIR . '/' . sprintf(self::FILENAME_MASK, basename($name));
            return (file_exists($filename) && include($filename));
        }
    }

    На каком языке раньше писал автор?? Где тут С++?
    Платили за каждый символ??

    doremidon, 23 Июля 2010

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

    +111

    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
    [WebMethod]
    public PackageHoldResult RegisterHold(
        string login,
        string password,
        PackageHoldRequest holdRequest)
    {
        PackageHoldResult result = new PackageHoldResult();
        result.ResultCode = 0;
    
        try
        {
            // ...
        }
        catch
        {
            result.ResultCode = (int) PackageHoldRequestResultCode.InternalError;
        }
    
        return result;
    }

    Логирование?... что это?

    svkandroid, 23 Июля 2010

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

    +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
    BYTE p1,p2,p3,p4;
    CString p;
    ipa.GetAddress(p1,p2,p3,p4);
    p.Format("%d.", p1);
    s = p;
    p.Format("%d.", p2);
    s += p;
    p.Format("%d.", p3);
    s += p;
    p.Format("%d", p4);
    s += p;
    AfxMessageBox(s);

    книга "Microsoft Visual Studio и MFC", автор Т. Сидорина
    ранее были объявлены
    CIPAddressCtrl ipa;
    CString s;

    s.Format ("%d.%d.%d.%d", p1, p2, p3, p4); //мы не исчем лёгких путей

    daemon_master, 23 Июля 2010

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

    −108

    1. 1
    2. 2
    3. 3
    while([item retainCount] > 1) {
        [item release];
    }

    тут правда objective-c, а не c, но смысл в том, что человек поборол утечки памяти

    psychos, 23 Июля 2010

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