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

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

    −368

    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
    Public Function Chten(adr As String, TK As Boolean) As String
    Dim str As String
    Dim strr As String
    Dim i As Long
    If DirectoryExists(adr) = True Then
      Dim FLong As Long
      Open adr For Binary As #1
      FLong = Loc(1)
      Do While FLong < LOF(1)
        str = str + Input(1, #1)
        FLong = Loc(1)
      Loop
      Close #1
      strr = str
      If TK = True Then
      strr = ""
      Dim j As Long
      j = Len(str)
      For i = 1 To j
        If ((i Mod 8) = 0) Or (i = j) Then
            strr = strr + RTK(Mid(str, 1, 8))
            str = Mid(str, 9)
        End If
      Next
      End If
      Chten = strr
    End If
    End Function
    
    'есть ли
    'видно что функцию он где-то взял - см. другой стиль именования переменных и отступы
    'но при этом сама и функция тоже попахивает
    Public Function DirectoryExists(ByVal strPathName As String) As Boolean
        Dim DirectoryFound As String
        Const errPathNotFound As Integer = 76
        On Error GoTo 0
        DirectoryFound = Dir(strPathName, vbDirectory)
        If (Len(DirectoryFound) = 0 Or Err = errPathNotFound) Then
            DirectoryExists = False
        Else
            DirectoryExists = True
        End If
    End Function

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

    3.14159265, 21 Мая 2010

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    public function __toString( $defaultText = '' )
    {
      return $this->getHtmlMaterial( $defaultText );
    }

    Продолжение серии "ОО П..."

    vatson, 20 Мая 2010

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

    +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
    for($i=0; $i < $fldCount; $i++) {
          if($fldType[$i]==8) {
            eval("\$f_".$fld[$i]."_year = substr(\$f_".$fld[$i].", 0, 4);");
            eval("\$f_".$fld[$i]."_month = substr(\$f_".$fld[$i].", 5, 2);");
            eval("\$f_".$fld[$i]."_day = substr(\$f_".$fld[$i].", 8, 2);");
            eval("\$f_".$fld[$i]."_hours = substr(\$f_".$fld[$i].", 11, 2);");
            eval("\$f_".$fld[$i]."_minutes = substr(\$f_".$fld[$i].", 14, 2);");
            eval("\$f_".$fld[$i]."_seconds = substr(\$f_".$fld[$i].", 17, 2);");
          }
          else if ($fldType[$i]==6 && $fldValue[$i]) {
            ${"f_".$fld[$i]."_old"} = $fldValue[$i];
    
            $fileinfo = $db->get_row("SELECT * FROM `Filetable`
              WHERE `Field_ID` = ".$fldID[$i]." AND `Message_ID` = ".$message, ARRAY_A);
        
            if ($fileinfo) {
              ${"f_".$fld[$i]} = $SUB_FOLDER . rtrim($HTTP_FILES_PATH, "/") . $fileinfo["File_Path"] . "h_" . $fileinfo["Virt_Name"];
              ${"f_".$fld[$i]."_url"} = $SUB_FOLDER . rtrim($HTTP_FILES_PATH, "/") . $fileinfo["File_Path"] .        $fileinfo["Virt_Name"];
              ${"f_".$fld[$i]."_name"} = $fileinfo["Real_Name"];
              ${"f_".$fld[$i]."_size"} = $fileinfo["File_Size"];
              ${"f_".$fld[$i]."_type"} = $fileinfo["File_Type"];
            }
            else {
              preg_match("/^(.+?(\.[^.]+)?):(.+):(.+)$/", $fldValue[$i], $regs);
              ${"f_".$fld[$i]} = $SUB_FOLDER.$HTTP_FILES_PATH.$fldID[$i]."_".$message.$regs[2];
              ${"f_".$fld[$i]."_url"} = $SUB_FOLDER.$HTTP_FILES_PATH.$fldID[$i]."_".$message.$regs[2];
              ${"f_".$fld[$i]."_name"} = $regs[1];
              ${"f_".$fld[$i]."_size"} = $regs[4];
              ${"f_".$fld[$i]."_type"} = $regs[3];
            }
          }
        }

    И ещё один кусочек из того же файла (/netcat/message.php).

    telnet, 18 Мая 2010

    Комментарии (4)
  5. 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)
  6. 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)
  7. C++ / Говнокод #3230

    +132

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

    k06a, 14 Мая 2010

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

    +144

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

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

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

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