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

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

    +163

    1. 1
    2. 2
    3. 3
    if(preg_match("#puid=(\d+)#si",$_SERVER['REQUEST_URI'],$m)) {
                     $parent_user_id = $m[1]; 
                     ................

    Получаем $_GET

    minisot, 05 Мая 2010

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

    −101

    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
    REM Юникод UTF-8 с сигнатурой.
    Option Compare Text
    Imports System
    Imports System.Web
    Imports ClassLibraryAll
    Namespace HandlerAll
    REM Вэб-запрос курсов валют и на какую дату.
    Public Class Course
    Implements IHttpHandler
    REM Переопределяем метод ProcessRequest.
    Public Sub ProcessRequest(ByVal oContext As System.Web.HttpContext) Implements System.Web.IHttpHandler.ProcessRequest
    '#region var
    Dim b As Boolean
    Dim iLang As Integer
    Dim tDate1 As Date
    Dim tDate2 As Date
    Dim dD1 As Double
    Dim dD2 As Double
    Dim dE1 As Double
    Dim dE2 As Double
    Dim sAnswer As String 'текст ответа
    Dim sResponse As String 'текст респонса
    Dim oWebClient As New System.Net.WebClient
    Dim oRegExDate1 As New System.Text.RegularExpressions.Regex("target\=_blank\s*>с \d+\.\d+\.\d+\s*<\/A>\s*<\/td>\s*<td>")
    Dim oRegExInDate1 As New System.Text.RegularExpressions.Regex("\d+\.\d+\.\d+")
    Dim oRegExDate2 As New System.Text.RegularExpressions.Regex("target\=_blank\s*>с \d+\.\d+\.\d+\s*<\/A>\s*<\/td>\s*<\/tr>")
    Dim oRegExInDate2 As New System.Text.RegularExpressions.Regex("\d+\.\d+\.\d+")
    Dim oRegExD1 As New System.Text.RegularExpressions.Regex("США<\/td>\s*<td><\/td>\s*<td\sclass\=""digit""\salign\=""right"">\d+,\d+ <\/td>")
    Dim oRegExInD1 As New System.Text.RegularExpressions.Regex("\d+,\d+")
    'Dim oRegExD2 As New System.Text.RegularExpressions.Regex(">\d+,\d+ <IMG\salt\='.+'\sborder\=0\sheight\=8\shspace\=2\ssrc\=\/images\/.+\.gif\swidth\=7><\/td>\s*<\/tr>\s*<tr>\s*<td>")
    Dim oRegExD2 As New System.Text.RegularExpressions.Regex(">\d+,\d+ <img\salt\='.+'\sborder\=""0""\sheight\=""8""\shspace\=""2""\ssrc\=""\/images\/.+\.gif""\swidth\=""7""><\/td>\s*<\/tr>\s*<tr>\s*<td>")
    Dim oRegExInD2 As New System.Text.RegularExpressions.Regex("\d+,\d+")
    Dim oRegExE1 As New System.Text.RegularExpressions.Regex("Евро<\/td>\s*<td><\/td>\s*<td\sclass\=""digit""\salign\=""right"">\d+,\d+ <\/td>")
    Dim oRegExInE1 As New System.Text.RegularExpressions.Regex("\d+,\d+")
    'Dim oRegExE2 As New System.Text.RegularExpressions.Regex(">\d+,\d+ <IMG\salt\='.+'\sborder\=0\sheight\=8\shspace\=2\ssrc\=\/images\/.+\.gif\swidth\=7><\/td>\s*<\/tr>\s*<tr>\s*<td\s")
    Dim oRegExE2 As New System.Text.RegularExpressions.Regex(">\d+,\d+ <img\salt\='.+'\sborder\=""0""\sheight\=""8""\shspace\=""2""\ssrc\=""\/images\/.+\.gif""\swidth\=""7""><\/td>\s*<\/tr>\s*<tr>\s*<td\s")
    Dim oRegExInE2 As New System.Text.RegularExpressions.Regex("\d+,\d+")
    '#endregion var
    '#region ini
    iLang = iInteger(oContext.Request.QueryString("iLang"))
    Try
    sAnswer = System.Text.Encoding.UTF8.GetString(oWebClient.DownloadData("http://cbr.ru/"))
    tDate1 = oRegExInDate1.Match(oRegExDate1.Match(sAnswer).Value).Value
    tDate2 = oRegExInDate2.Match(oRegExDate2.Match(sAnswer).Value).Value
    dD1 = oRegExInD1.Match(oRegExD1.Match(sAnswer).Value).Value
    dD2 = oRegExInD2.Match(oRegExD2.Match(sAnswer).Value).Value
    dE1 = oRegExInE1.Match(oRegExE1.Match(sAnswer).Value).Value
    dE2 = oRegExInE2.Match(oRegExE2.Match(sAnswer).Value).Value
    Catch ex As Exception
    'sResponse = "/*" & ex.Message & "dD1=" & oRegExInD1.Match(oRegExD1.Match(sAnswer).Value).Value & "dD2=" & oRegExInD2.Match(oRegExD2.Match(sAnswer).Value).Value & "dE1=" & oRegExInE1.Match(oRegExE1.Match(sAnswer).Value).Value & "dE2=" & oRegExInE2.Match(oRegExE2.Match(sAnswer).Value).Value & "*/"
    sResponse = "/*0*/"
    b = True
    End Try
    '#endregion ini
    If b = False Then
    ....
    ...
    ...
    куча говна
    ...
    ...
    oContext.Response.Write(sResponse)
    End Sub
    REM Переопределяем свойство IsReusable.
    Public ReadOnly Property IsReusable() As Boolean Implements System.Web.IHttpHandler.IsReusable
    Get
    Return False 'запрещем кеширование этого обработчика в оперативной памяти вэб-сервера.
    End Get
    End Property
    End Class
    End Namespace

    А так мы получаем курс валют с локализацией.
    Рассчитывалось использовать на высоконагруженном портале. типо еллоупэйджеса.
    Через хэндлер.
    Максим Прохоров вас будет ещё долго радовать.

    ursus, 23 Апреля 2010

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

    +64

    1. 1
    2. 2
    3. 3
    4. 4
    if (mpQCWWANDLL == 0)
    {
        ASSERT( 0 );
    }

    mors, 21 Апреля 2010

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

    +160.4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $createD = getdate($photki['createD']);
    $mon = '';
    if (strlen($createD['mon']) == 1)
      $mon = '0';
    if (strlen($createD['minutes']) == 1)
      $min = '0';
    $createdate = $createD['mday'] . '/' . $mon . $createD['mon'] . ' ' . $createD['hours'] . ':' . $min . $createD['minutes'];

    Преобразование $photki['createD'] (unixtime) в формат 18/04 20:43

    1ac1324, 18 Апреля 2010

    Комментарии (4)
  6. JavaScript / Говнокод #2985

    +144

    1. 1
    2. 2
    <script type="text/javascript" src="/media/ddd20ce56acf1d9ebadd126322495087.js?files=jquery.js,jquery.scrollTo.js,govnokod.js,jshighlight/highlight.pack.js&amp;v=3"></script>
    <

    Armanio, 10 Апреля 2010

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

    +143.8

    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
    CREATE TABLE EMP (EMPNO NUMBER(4) NOT NULL,
                      ENAME VARCHAR2(10),
                      JOB VARCHAR2(9),
                      MGR NUMBER(4),
                      HIREDATE DATE,
                      SAL NUMBER(7, 2),
                      COMM NUMBER(7, 2),
                      DEPTNO NUMBER(2));
    
    INSERT INTO EMP VALUES (7369, 'SMITH', 'CLERK',    7902, TO_DATE('17-DEC-1980', 'DD-MON-YYYY'), 800, NULL, 20);
    INSERT INTO EMP VALUES (7499, 'ALLEN', 'SALESMAN', 7698, TO_DATE('20-FEB-1981', 'DD-MON-YYYY'), 1600, 300, 30);
    INSERT INTO EMP VALUES (7521, 'WARD',  'SALESMAN', 7698, TO_DATE('22-FEB-1981', 'DD-MON-YYYY'), 1250, 500, 30);
    INSERT INTO EMP VALUES (7566, 'JONES', 'MANAGER',  7839, TO_DATE('2-APR-1981',  'DD-MON-YYYY'), 2975, NULL, 20);
    INSERT INTO EMP VALUES (7654, 'MARTIN', 'SALESMAN', 7698,TO_DATE('28-SEP-1981', 'DD-MON-YYYY'), 1250, 1400, 30);
    INSERT INTO EMP VALUES (7698, 'BLAKE', 'MANAGER', 7839,TO_DATE('1-MAY-1981', 'DD-MON-YYYY'), 2850, NULL, 30);
    INSERT INTO EMP VALUES (7782, 'CLARK', 'MANAGER', 7839,TO_DATE('9-JUN-1981', 'DD-MON-YYYY'), 2450, NULL, 10);
    INSERT INTO EMP VALUES (7788, 'SCOTT', 'ANALYST', 7566,TO_DATE('09-DEC-1982', 'DD-MON-YYYY'), 3000, NULL, 20);
    INSERT INTO EMP VALUES (7839, 'KING', 'PRESIDENT', NULL,TO_DATE('17-NOV-1981', 'DD-MON-YYYY'), 5000, NULL, 10);
    INSERT INTO EMP VALUES (7844, 'TURNER', 'SALESMAN', 7698,TO_DATE('8-SEP-1981', 'DD-MON-YYYY'), 1500, 0, 30);
    INSERT INTO EMP VALUES (7876, 'ADAMS', 'CLERK', 7788,TO_DATE('12-JAN-1983', 'DD-MON-YYYY'), 1100, NULL, 20);
    INSERT INTO EMP VALUES (7900, 'JAMES', 'CLERK', 7698,TO_DATE('3-DEC-1981', 'DD-MON-YYYY'), 950, NULL, 30);
    INSERT INTO EMP VALUES (7902, 'FORD', 'ANALYST', 7566,TO_DATE('3-DEC-1981', 'DD-MON-YYYY'), 3000, NULL, 20);
    INSERT INTO EMP VALUES (7934, 'MILLER', 'CLERK', 7782,TO_DATE('23-JAN-1982', 'DD-MON-YYYY'), 1300, NULL, 10);
    
    prompt C R E A T E   N E W   E M P L O Y E E   R E C O R D
    prompt
    prompt Enter the employee's information:
    prompt
    accept l_ename char format a10 prompt 'Last name: '
    accept l_empno number format '9999' prompt 'Employee #: '
    accept l_sal number format '99999.99' prompt 'Salary [1000]: ' default '1000.00'
    accept l_comm number format '99999.99' prompt 'Commission % [0]: ' default '0'
    accept l_hired date format 'mm/dd/yyyy' prompt 'Hire date (mm/dd/yyyy): '
    
    prompt List of available jobs:
    select distinct job
      from emp
     order by job
    /
    accept l_job char format a9 prompt 'Job: '
    
    prompt List of managers and employee numbers:
    select empno, ename
      from emp
     order by ename
    /
    accept l_mgr number format '9999' prompt 'Manager''s Employee #: '
    
    prompt List of department numbers and names:
    select deptno, dname
      from dept
     order by deptno
    /
    accept l_dept number format '99' prompt 'Department #: '
    
    insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
    values (&l_empno, '&l_ename', '&l_job', &l_mgr,
            to_date('&l_hired','mm/dd/yyyy'), &l_sal, &l_comm, &l_dept)
    /
    
    drop table emp;

    sergylens, 08 Апреля 2010

    Комментарии (4)
  8. VisualBasic / Говнокод #2933

    −132.6

    1. 1
    2. 2
    3. 3
    4. 4
    If objRow.IsQuestion_SpecialismNull Then
                '--- ASK DEAN
                Return True
    End If

    Dean - наш тим лид

    6istik, 05 Апреля 2010

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

    +148.2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    var tbl = order.group != 0 ?
       (order.group != 1 ?
        limit :
        closed) :
       open;

    asilmacc, 01 Апреля 2010

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

    +74.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
    private String getNullString(int kol){
            String nullstr="";
            for(int i=0;i<kol;i++){
                nullstr+="0";
            }
            return nullstr;
        }
    
    public String getNumber(int idd){
            String regid="";
            String idds=(idd+"");
            if(idds.length()<getNumberLenth()){
                regid+=getNullString(getNumberLenth()-idds.length());
                regid+=idds;
            }
            String regnum="";
            regnum+=getNumberPrefix()+regid;
            if(getNumberPeriod()!=NUM_PERIOD_NOPERIOD){
                GregorianCalendar c=new GregorianCalendar();
                switch(getNumberPeriod()){
                    case NUM_PERIOD_MONTH:
                        int m=c.get(Calendar.MONTH)+1;
                        regnum+="-"+m;
                        regnum+=".";
                        regnum+=c.get(Calendar.YEAR);
                        break;
                    case NUM_PERIOD_YEAR:
                        regnum+="-"+c.get(Calendar.YEAR);
                }
            }
            return regnum;
        }

    Ну незнал я про String.format (((..

    maxt, 01 Апреля 2010

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

    +116.2

    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
    SendMessage("PRIVMSG " + channel + " :Name: " + ObjectManager.Me.Name + " Health: " + ObjectManager.Me.CurrentHealth + "/" + ObjectManager.Me.MaxHealth + " Mana: " + ObjectManager.Me.CurrentMana + "/" + ObjectManager.Me.MaxMana + " Level: " + ObjectManager.Me.Level + " Race: " + ObjectManager.Me.Race + " Class: " + ObjectManager.Me.Class + " Xp to LeveL: " + ObjectManager.Me.XP + "/" + ObjectManager.Me.NextLevelXP + " Combat: " + ObjectManager.Me.Combat + " Time to level: " + hours + " Hours " + minutes + " Minutes");                   
    
    /* немного дальше */
                        if (CommandUsed("!zone", messageLine))
                        {
                            SendMessage("PRIVMSG " + channel + " :Zone: " +ObjectManager.Me.RealZoneText);
                            SendMessage("PRIVMSG " + channel + " :SubZone: "+ ObjectManager.Me.SubZoneText);
                        }
                        if (CommandUsed("!free", messageLine))
                        {
                            SendMessage("PRIVMSG " + channel + " : i have "+ Global.FreeSlots + " free slots");
                        }
    /* и тд */
                        if (CommandUsed("!guild", messageLine))
                        {
                            if (accCheck.CanUseCommand(loginCheckLine))
                            {
                                SendGuild(messageLine);
                            }
                        }

    вот как надо шпарить ботов для irc
    http://pastebin.org/126516

    xXx_totalwar, 28 Марта 2010

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