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

    В номинации:
    За время:
  2. Куча / Говнокод #6538

    +134

    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
    function ()	
            local res = false
    
    	for j = 1, hE do
    		if () then
    		elseif () or () then
    		elseif () or () then
    		else
    			res = true
    		end
    	end
    	if not res then
    		return res
    	end
    	return true
    end

    Код взят из миниигры в разрабатываемой казуалке.
    Первое непонятно накуя выпендриваться с кучей условий с пустыми телами, если результат получим только в одном случае.
    Второе вообще убивает: накуя танцы с переменной res в конце тела ф-ции?

    MAGnit, 04 Мая 2011

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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    template<typename Class>
    void Raise(int Code)
    {
      throw Class(Code);
    };

    Продолжение эпоса из уже всем знакомого проекта, доставшегося по наследству, в котором активно используются исключния.

    Говногость, 21 Февраля 2011

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

    +116

    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
    var sEmailRecipient = string.Empty;
    
                        string m_sPhysicalPath = "";
                        if (SaveType == "both" || SaveType == "email")
                        {
                            
                            List<User> recipients = null;
                            if (RecipentSelectMode == "auto")
                            {
                                if (!string.IsNullOrEmpty(AutoRecipient))
                                    recipients = Notification.ConvertToUsers(AutoRecipient, MethodologyId, CurrentObjectId, CurrentUserId, CurrentEntityName);
                            }
                            if(RecipentSelectMode == "manual"){
                                if (Recipient != null)
                                    sEmailRecipient = EvaluateExpression(CurrentUserId, MethodologyId, MainEntityName, MainObjectId, Recipient);
                            }
                            
                             m_sPhysicalPath = Document.AbsoluteApplicationPath + "/" + p_sReportPath.Substring(p_sReportPath.LastIndexOf("storage"));
    
                             if (RecipentSelectMode == "auto")
                             {
                                 foreach (User user in recipients)
                                 {
                                     if (Regex.IsMatch(user.Email, @"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*", RegexOptions.None))
                                     {
                                         SendReportByEmail(m_sPhysicalPath, user);
                                     }
                                 }
                             }
                             if (RecipentSelectMode == "manual")
                             {
                                 if (Regex.IsMatch(Recipient, @"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*", RegexOptions.None))
                                 {
                                     SendReportByEmail(m_sPhysicalPath, new User { Email = sEmailRecipient });
    
                                 }
                                 else
                                 {
                                     return CreateResult(GetClientData(), "Email message sending failed - incorrect email address - " + Recipient, (int)ReportRenderingFailType.Success);
    
                                 }
                        
                             }
    
                        }
                        if (SaveType == "email")
                        {
                            FileInfo file = new FileInfo(m_sPhysicalPath);
                            if (file.Exists)
                                file.Delete();
                        }

    Отправляет отчет по email

    PetrLyapin, 27 Января 2011

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

    +145

    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
    <?php
    class Pwd {
        private static $pc='bcdfghjklmnprstvwxyz'; 
        private static $pv='aeiou';
        private static $pd='0123456789';
        private static $ps='!@#$%^&*_-+=';
        
        private static function randsub($s) {
        	$c=$s[rand(0, strlen($s)-1)];
        	return rand(0, 1)?strtoupper($c):strtolower($c);
        }
        
    	public static function password($min=4,$max=10) {
    		$p='';
    		for($i=0;$i<$max;$i++) {
    			switch (rand(0, 7)) {
    				case 0:
    				$p.=self::randsub(self::$pc);
    				break;
    				case 1:
    				$p.=self::randsub(self::$pv);
    				break;
    				case 2:
    				$p.=self::randsub(self::$pd);
    				break;
    				case 3:
    				$p.=self::randsub(self::$pc).self::randsub(self::$pv);
    				break;
    				case 4:
    				$p.=self::randsub(self::$pv).self::randsub(self::$pc);
    				break;
    				case 5:
    				$p.=self::randsub(self::$pc).self::randsub(self::$pv).self::randsub(self::$pc);
    				break;
    				case 6:
    				$p.=self::randsub(self::$pv).self::randsub(self::$pc).self::randsub(self::$pv);
    				break;
    				case 7:
    				$p.=self::randsub(self::$ps);
    				break;
    			}
    		}
    		return substr($p, 0,rand($min, $max));
    	}
    	
    }

    хитровыебанный лисапедрильный пассвордоген.

    и PHP тут не причем, лень - это зло = )

    Lure Of Chaos, 30 Декабря 2010

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

    +154

    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
    http://vkontakte.ru/
    <noscript><meta http-equiv="refresh" content="0; URL=/badbrowser.php"></noscript>
    
    
    http://vkontakte.ru/badbrowser.php
    <script type="text/javascript">
    <!--
    
    //window.checkbrowser = true;
    if (window.checkbrowser) {
      try {
        if (new XMLHttpRequest()) {
          location.replace('/');
        }
      } catch(e) {
        try {
          if (new ActiveXObject('Msxml2.XMLHTTP')) {
            location.replace('/');
          }
        } catch(e) {}
        try {
          if (new ActiveXObject('Microsoft.XMLHTTP')) {
            location.replace('/');
          }
        } catch(e) {}
      }
    }
    -->
    </script>

    Вот так суровые вконтактостроители отправляют на йуг пользователей NoScript.

    Vindicar, 30 Ноября 2010

    Комментарии (44)
  7. Assembler / Говнокод #3500

    +229

    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
    ;uint64_t foo(uint32_t x, uint64_t y) { return x*y; }
    
    sub esp, 0×8
    mov edx, [esp+0x14]
    mov ecx, [esp+0xc]
    mov eax, [esp+0x10]
    mov [esp+0x4], esi
    mov esi, edx
    imul esi, ecx
    mul ecx
    mov [esp], ebx
    mov ebx, [esp]
    add esi, edx
    mov edx, esi
    mov esi, [esp+0x4]
    add esp, 0×8
    ret

    оптимизированое умножение - gcc 4.2.4

    3.14159265, 17 Июня 2010

    Комментарии (44)
  8. Куча / Говнокод #3498

    +137

    1. 1
    2. 2
    var companyStr:String = "adobe";
    trace(companyStr.length); // 10

    Найдено в доке к Flash, после покупки Macromedia поиском и заменой имя сменили, коммент забыли.

    AxisPod, 17 Июня 2010

    Комментарии (44)
  9. VisualBasic / Говнокод #3323

    −349

    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
    Function shr(ByVal a As Long, ByVal i As Long) As Long
    Dim r As Variant
    r = a / (2 ^ i)
    shr = Fix(r)
    End Function
    
    'используется для получения значения n-го бита таким вот образом
    if (shr(value,n) mod 2)=1 then
    ....
    end if
    
    'в другом месте почему-то биты проверяются по-другому
    For i = 2 To Len(s)
      a = Asc(Mid(s, i, 1))
      b = (q Mod (2 ^ (i - 1))) \ (2 ^ (i - 2))
      If b = 1 Then a = a - 32  'сути этого я так и не понял
      t = t + Chr(a)
    Next

    мастерская работа с битами. епта я б на асме это в 1 строку сделал

    3.14159265, 26 Мая 2010

    Комментарии (44)
  10. PHP / Говнокод #3150

    +167

    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
    function my_isinteger($int)
    {
       $new_int = '';
       for($i=0;$i<strlen($int);$i++)
       {
          if( $int[$i] == "0" )
          {
             $new_int .= "0";
          }
          if( $int[$i] == "1" )
          {
             $new_int .= "1";
          }
          if( $int[$i] == "2" )
          {
             $new_int .= "2";
          }
          if( $int[$i] == "3" )
          {
             $new_int .= "3";
          }
          if( $int[$i] == "4" )
          {
             $new_int .= "4";
          }
          if( $int[$i] == "5" )
          {
             $new_int .= "5";
          }
          if( $int[$i] == "6" )
          {
             $new_int .= "6";
          }
          if( $int[$i] == "7" )
          {
             $new_int .= "7";
          }
          if( $int[$i] == "8" )
          {
             $new_int .= "8";
          }
          if( $int[$i] == "9" )
          {
             $new_int .= "9";
          }
       }
       if ( $int == $new_int )
       {
          return(True);
       }
       else
       {
          return(False);
       }
    }

    Набрел в исходниках старого проекта который до сих пор работает) но начинал я его писал лет 5 назад), знаний тогда было маловато

    W1R0X, 02 Мая 2010

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

    +146.9

    1. 1
    2. 2
    3. 3
    4. 4
    class ToBeOrNotToBe{};
    void distortion(ToBeOrNotToBe...)
    {
    }

    Код компилируется в 2008 MVS

    Barmaglot, 28 Января 2010

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