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

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

    −855

    1. 1
    2. 2
    3. 3
    4. 4
    where 
      DEP_ID = idDep and  ID = idOrd and  
      DEP_ID = idDep and  ID = idOrd and  
      DEP_ID = idDep and  ID = idOrd

    gorsash, 17 Мая 2010

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

    −106

    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
    class User < ActiveRecord::Base
    
      #Состояния подтвержденности email
      state_machine :email_state, :initial => :unconfirmed, :namespace => 'email' do
        event :confirm do
          transition [:unconfirmed] => :confirmed
        end
    
        event :unconfirm do
          transition [:confirmed] => :unconfirmed
        end
      end
    
    end

    antono, 16 Мая 2010

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

    +132

    1. 1
    assert(!"Can't change this parameter.");

    k06a, 14 Мая 2010

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

    +144

    1. 1
    2. 2
    3. 3
    /*
    Некий не работающий кусок закомментированного кода.
    *///It's fuckin shit C++!!!

    Обнаружено в одном из наших проектов.

    Говногость, 13 Мая 2010

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

    +144

    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
    <?php
    function isOk() {
    	global $questions;
    	foreach($questions as $k=>$v) {
    		if($v[2]!==false) {
    			if (!isset($_REQUEST[$k])) {
    				return false;
    			}
    			if ($v[2]!=($_REQUEST[$k])) {
    				return false;
    			}
    		}else {
    			if (isset($_REQUEST[$k])) {
    				return false;
    			}
    		}
    	}
    	return true && isset($_REQUEST['submit']);
    }
    
    if (isOk()) {
    	setcookie('ok','ok');
    ?>

    ну и совсем маленький ГК. проверяем ответы на вопросы мини-теста. Пересматриваю свой бывший сайт, единственное оправдание что ему много лет, а мне было мало... Хватаюсь за голову и ржу )

    Lure Of Chaos, 12 Мая 2010

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

    +73

    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
    public enum MONTHS {
    		January(31), February(28), March(31), April(30), May(31), June(30), July(31), August(31), September(30), October(31), November(30), December(31);
    		
    		private int days;
    		
    		private MONTHS(int days){
    			this.days = days;
    		}
    
    		public int getDays() {
    			return days;
    		}
    
    		public void setDays(int days) {
    			this.days = days;
    		}
    		
    		public static int getIndex(MONTHS month){
    			int i = 0;
    			for (MONTHS m : MONTHS.values()) {
    				if(m.equals(month)){
    					return i;
    				}
    				i++;
    			}
    			return 0;
    		}
    	}

    Хоть код и GWT (нету j.u.Calendar), но все равно феерично, я считаю.

    OlegYch, 07 Мая 2010

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

    +77

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    if (InputField.class.isInstance(comp))
            {
                InputField f = (InputField)comp;
                DataDate dd=f.getDate();
                val = readDate(dd);
            }
            else
            {
                throw new ClassCastException();
            }

    Комментарии излишни

    pirj, 07 Мая 2010

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

    −135

    1. 1
    find $PWD -maxdepth 0 2>/dev/null

    Вместо "ls"...

    13thslayer, 06 Мая 2010

    Комментарии (4)
  10. 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)
  11. 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)