1. ActionScript / Говнокод #7087

    −113

    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
    private function formatResponse( map:Dictionary ):String
    		{
    // В этой функции было больше строчек, я оставил только те, где используется map
    			ha1_1.writeUTFBytes( map.username + ":" + map.realm + ":" + password );
    			ha1_2.writeUTFBytes( ":" + map.nonce + ":" + map.cnonce );
    			ha2.writeUTFBytes( "AUTHENTICATE:" + map[ "digest-uri" ] );
    			b.writeUTFBytes( sha1 + ":" + map.nonce + ":" + map.nc + ":" + map.cnonce + ":" + map.qop + ":" + sha2 );
    			return Hex.fromArray( b );
    		}
    
    		override public function handleChallenge( stage:int, challenge:XML ):XML
    		{
    			var decodedChallenge:String = Base64.decode( challenge );
    			var challengeKeyValuePairs:Array = decodedChallenge.replace( /\"/g, "").split( "," );
    			var challengeMap:Dictionary = new Dictionary();
    			for each( var keyValuePair:String in challengeKeyValuePairs )
    			{
    				var keyValue:Array = keyValuePair.split( "=" );
    				challengeMap[ keyValue[ 0 ] ] = keyValue[ 1 ];
    			}
    
    			var resp:XML = new XML( response );
    			resp.setNamespace( DigestMD5.NS );
    
    			if( !challengeMap.rspauth )
    			{
    				var responseMap:Dictionary = new Dictionary();
    				responseMap.username = connection.username;
    				responseMap.realm = challengeMap.realm ? challengeMap.realm : "";
    				responseMap.nonce = challengeMap.nonce;
    				responseMap.cnonce = new Date().time;
    				responseMap.nc = "00000001";
    				responseMap.qop = challengeMap.qop ? challengeMap.qop : "auth";
    				responseMap[ "digest-uri" ] = "xmpp/" + ( challengeMap.realm ? challengeMap.realm : connection.domain );
    				responseMap.charset = challengeMap.charset;
    				responseMap.response = formatResponse( responseMap );
    
    				var challengeResponse:String = "username=\"" + responseMap.username + "\"";
    				if( challengeMap.realm ) challengeResponse += ",realm=\"" + responseMap.realm + "\"";
    				challengeResponse += ",nonce=\"" + responseMap.nonce + "\"";
    				challengeResponse += ",cnonce=\"" + responseMap.cnonce + "\"";
    				challengeResponse += ",nc=" + responseMap.nc;
    				challengeResponse += ",qop=" + responseMap.qop;
    				challengeResponse += ",digest-uri=\"" + responseMap[ "digest-uri" ] + "\"";
    				challengeResponse += ",response=" + responseMap.response;
    				challengeResponse += ",charset=" + responseMap.charset;
    				challengeResponse = Base64.encode( challengeResponse );
    
    				resp.setChildren( challengeResponse );
    			}
    
    			return resp;
    		}

    Тут довольно много читать, но если вы не побоитесь и все же осилите, то откроете для себя еще один уголок прекрасного. Часть кода из первой функции вырезана т.как приниципиального значения не имела. Код явно переписан с чего-то похожего на Java человеком который ни разу не открыл маны по AS3.
    Целиком обозреть бессмертное творение можно тут: http://fisheye.igniterealtime.org/browse/~raw,r=12385/sparkweb/trunk/SparkWeb2/src/org/igniterealtime/xiff/auth/DigestMD5.as

    wvxvw, 27 Июня 2011

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

    +133

    1. 1
    2. 2
    3. 3
    fib 1 = 1
    fib 2 = 1
    fib n = fib(n-1) + fib (n-2)

    Хаскель это вам не математика, тут надо и вычислительную сложность учитывать.

    kipar, 27 Июня 2011

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

    +109

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if (File.Exists(local)) {
                        if (Connect()) {
                            if (ftpConnection.Exists(remote)) {
    //code
                            }
                        }
                    }

    Irdis, 27 Июня 2011

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

    +158

    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
    $('#home').click(function(){
            $.get("q.php", { id: 1 }, function(data){                            
                $('#content').html(data);
            });
        });
    
        $('#programz').click(function(){
            $.get("q.php", { id: 2 }, function(data){                            
                $('#content').html(data);
            });
        });
    				
        $('#contactz').click(function(){
            $.get("q.php", { id: 3 }, function(data){                            
                $('#content').html(data);
            });
        });
    	
        $('#aboutazz').click(function(){
            $.get("q.php", { id: 4 }, function(data){                            
                $('#content').html(data);
            });
        });
    	
        $('#chatz').click(function(){
            $.get("q.php", { id: 5 }, function(data){                            
                $('#content').html(data);
            });
        });  
    
        $('#advertisement').click(function(){
            $.get("q.php", { id: 6 }, function(data){               
                $('#content').html(data);
            });

    Jquery во всей красе.

    bteam, 27 Июня 2011

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

    +78

    1. 1
    public Boolean checkPermission(String login, Integer nIdObject, String sObjectSSCode, Integer nIdOperation, String sOperationSSCode, String sSubsystemCode)

    Вот так Windows разъедает мозг разработчиков. Венгерская запись прокралась в Java-код. Да и Boolean с Integer не совсем в тему.
    И, конечно, метод нужно было назвать

    hasPermission
    .

    roman-kashitsyn, 27 Июня 2011

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

    +168

    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
    function b_desc($value){
    	return ($value);
      }
    function a_id($value){
    	return $value;
    }
    function a_name($value){
    	return $value;
    }
      function b_name($value){
    	return ($value);
      }
      function b_alias($value){
    	return ($value);
      }
      function c_name($value){
    	return ($value);
      }
      function c_id($value){
    	return ($value);
      }  
      function c_level($value){
    	return ($value);
      }
      function g_id($value){
    	return ($value);
      }
      function g_name($value){
    	return ($value);
      }
       function g_desc($value){
    	return ($value);
      }
      function g_appointment($value){
    	return ($value);
      }
      function g_tech_desc($value){
    	return ($value);
      }

    Функции для отбработки значений, полученных из БД. Одно поле — одна функция. Выполняются все хором для каждой записи.

    Oonitaz, 27 Июня 2011

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

    +114

    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
    static Queue<string> getProxiesFromFile(string filename)
            {
                Queue<string> temp=new Queue<string>();
                System.IO.StreamReader file;
                string line;
                // Read the file and display it line by line.
                if (filename == null)
                {
                    file = new System.IO.StreamReader("proxy.txt");
                }
                else
                {
                    try
                    {
                        file = new System.IO.StreamReader(filename);
                    }
                    catch (FileNotFoundException)
                    {
                        throw;
                    }
                }
                while ((line = file.ReadLine()) != null)
                {
                    temp.Enqueue (line);
                    Console.WriteLine(line);
                }
                return temp;
            }

    Считываем файл построчно и заносим в Queue<string> .

    gg123, 27 Июня 2011

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

    +146

    1. 1
    <span id="#spanforum"></span>

    Забавно ;)

    substr, 27 Июня 2011

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

    +147

    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
    int __fastcall TForm1::iscomm(AnsiString str)
    {
    int i=1;
    while (str[i]==' ')
     i++;
    if (str[i]=='#')
     {
      return 1;
     }
    else
     {
      return 0;
     };
    };

    yasosiska, 27 Июня 2011

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

    +147

    1. 1
    2. 2
    3. 3
    cout<<"enterX"<<endl;
         cin >>x;
    x = 0.125;

    yasosiska, 27 Июня 2011

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