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

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

    +24

    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
    #include <stdio.h>
    #include "gost.h"
    
    int main() {
        MemoryFile mf("root.cer");
        MemoryFile mf2("test.cer");
    
        ASN1Parser parser(mf);
        ASN1Parser parser2(mf2);
    
        ASN1Block e1[2];
        parser.Split("30{30{A0#,02$1,30#,30#,30#,30#,30{30#,03$2},A3#},30#,03#}", e1);
    
        unsigned char px[32], py[32], r[32], s[32], h[32];
        for (int i=0;i<32;i++) {
            px[i] = mf.data[e1[1].offset+i+3];
            py[i] = mf.data[e1[1].offset+i+35];
        }
    
        parser2.Split("30{30$1,30#,03$2}", e1);
        for (int i=0;i<32;i++) {
            r[i] = mf2.data[e1[1].offset+64-i];
            s[i] = mf2.data[e1[1].offset+32-i];
        }
    
        Gost3411 hash;
        hash.AddData(mf2.data+e1[0].offset-4, e1[0].size+4);
        hash.Finish(h);
    
        Gost3410 g;
        if (!g.VerifySignature(h, px, py, r, s)) {
            printf("Invalid!");
        } else {
            printf("Valid!");
        }
        return 0;
    }

    Продолжение http://govnokod.ru/11528. Вот так я проверял валидность сертификата...
    Прекрасные говорящие имена переменных...
    Удобный парсер ASN.1...
    Отличная инкапсуляция...
    Ни одного магического числа...

    bormand, 12 Августа 2012

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

    +42

    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
    foreach ($balancedSlots as $cluster) {
                    if ($cluster['type']=='cluster'){
                            foreach ($cluster['servers'] as $ip=>$server) {
                                    if ($GLOBALS['mode']!='test'){
                                            $GLOBALS['dataVar'][$i] = array();
                                            if (isset($server['snmp_server'])){
                                                    $p = preg_split('/,/', $server['snmp_server']);
                                                    $GLOBALS['dataVar'][$i]['proc_handle'] = popen(dirname(__FILE__).'/snmp_server.sh '.$p[0].' '.$p[1], 'r');
                                                    $GLOBALS['dataVar'][$i]['snmp_params'] = $p;
                                                    $GLOBALS['dataVar'][$i]['snmp_result'] = array('ifName'=>array(), 'counter'=>array());
                                            }
                                            else {
                                                    //print "proc_handle: ".$server['snmp_cmd']."\n";
                                                    $GLOBALS['dataVar'][$i]['proc_handle'] = popen($server['snmp_cmd'], 'r');
                                            }
                                            $GLOBALS['dataVar'][$i]['server']=$server;
                                            $GLOBALS['dataVar'][$i]['server']['ip']=$ip;
                                            $GLOBALS['dataVar'][$i]['eb'] = event_buffer_new($GLOBALS['dataVar'][$i]['proc_handle'], "read_result", NULL, "error_func", $i);
                                            event_buffer_timeout_set($GLOBALS['dataVar'][$i]['eb'], 4, 60);
                                            event_buffer_base_set($GLOBALS['dataVar'][$i]['eb'], $GLOBALS['base']);
                                            event_buffer_enable($GLOBALS['dataVar'][$i]['eb'], EV_READ);
                                    }
                                    elseif ($GLOBALS['mode']=='test')
                                    {
                                            if (!array_key_exists($ip, $testLastServers)) {
                                                    $testLastServers[$ip]=0;
                                            }
                                            if ($testServersData[$ip][$testServersIteration]!==false){
                                                    $GLOBALS['result'][$ip] = new ArrayObject(array('counter64'=>$testLastServers[$ip]+$testServersData[$ip][$testServersIteration], 'ts'=>$GLOBALS['mesure_time']));
                                                    $testLastServers[$ip] = $GLOBALS['result'][$ip]['counter64'];
                                            }
                                    }
                                    $i++;
                            }
                    }
            }

    Попытка одного товарища использовать библиотеку libevent. Видно щедрое использование глобальных переменных.

    Bdfy, 31 Июля 2012

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

    +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
    Уважаемые пользователи ресурса Говнокод.ру.
    
    В связи с повышением процента неадекватных участников и по этой причине участившимися ЧП.
    А также регулярным нарушением правил оными, сообщаю, что проводится расширение дружного модераторского коллектива.
    Посредством набора новых добровольцев-модераторов.
    
    Получив права модератора Вы сможете:
    - банить неугодных вам пользователей
    - закрывать неудобные для вас темы
    - выигрывать в спорах, если аргументы закончились - достаточно просто зайти под модератором и забанить оппонента (например за троллинг)
    
    Чтобы обеспечить анонимность Вам будут выданы спец. аккаунты. 
    Для обусждения вашей кандидатуры пишите мне на e-mail [email protected] или в личку.

    Модератор

    moderator, 29 Июля 2012

    Комментарии (13)
  5. Objective C / Говнокод #11408

    −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
    -(void)showRetrySuccess:(NSString*)requestUrlString
    {
    	NSString *statusMessage = @"";
    	
    	if([requestUrlString rangeOfString:kFollowFriendsRequest].location != NSNotFound)
    	{
    		statusMessage =@"Your follow friend request completed successfully.";
    	}
    	else
    		if([requestUrlString rangeOfString:kUnfollowFriendsRequest].location != NSNotFound)
    		{
    			statusMessage =@"Your unfollow friend request completed successfully.";
    		}else
    			if([requestUrlString rangeOfString:kDeleteContentService].location != NSNotFound)
    			{
    				statusMessage =@"Your delete request completed successfully.";
    			}else
    				if([requestUrlString rangeOfString:kSavePostService].location != NSNotFound)
    				{
    					statusMessage =@"Your save post request completed successfully";
    				}else
    					if([requestUrlString rangeOfString:kSaveMediaService].location != NSNotFound)
    					{
    						statusMessage =@"Your save request  completed successfully";
    					}else
    						if([requestUrlString rangeOfString:kSaveTwitterDirectMessage].location != NSNotFound)
    						{
    							statusMessage =@"Your request completed successfully.";
    						}else
    							if([requestUrlString rangeOfString:kSaveTwitterResponse].location != NSNotFound)
    							{
    								statusMessage =@"Your request completed successfully.";
    							}
    							else
    								if([requestUrlString rangeOfString:kAddCommentService].location != NSNotFound)
    								{
    									statusMessage =@"Your post comment request completed successfully.";
    								}
    	UIAlertView * alert = [[[UIAlertView alloc] initWithTitle:@"" message:statusMessage delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]autorelease];
    	[alert show];
    	
    	
    }

    GLvRzZZ, 13 Июля 2012

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

    +48

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    function is_array_assoc($arr) {
        if (is_array($arr)) {
            foreach ($arr as $k => $v) {
                if (is_string($k) || (is_int($k) && $k < 0)) {
                    return 1;
                }
            }
            return 0;
        }
        return -1;
    }

    Взята с php.net проверка массива на ассоциативность.
    Типа array(5 => 4, 8=>9, 1 => 3) не ассоциативный?

    mkusher, 09 Июля 2012

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

    +21

    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
    template <typename T> 
    void sort( T array[], size_t length ) {
    	size_t left_index = 0;
    	size_t right_index = length - 1;
    
    	while ( left_index < right_index ) {
    		size_t min_index = min( array, left_index, right_index );
    		swap( array, min_index, left_index );
    
    		size_t max_index = max( array, left_index, right_index );
    		swap( array, max_index, right_index );
    
    		left_index++;
    		right_index--;
    	}
    }

    Fai, 05 Июля 2012

    Комментарии (13)
  8. PHP / Говнокод #11331

    +58

    1. 1
    2. 2
    $cats = get_categories(array("child_of" => get_category_by_slug($wp_query->query_vars["category_name"])->category_parent ? get_category_by_slug($wp_query->query_vars["category_name"])->category_parent : get_category_by_slug($wp_query->query_vars["category_name"])->cat_ID,
    						 "hide_empty" => false));

    Я старался.
    Всегда ваш,

    varg242, 01 Июля 2012

    Комментарии (13)
  9. Java / Говнокод #11296

    +77

    1. 1
    2. 2
    3. 3
    public static boolean isNull(Collection collection) {
        return collection == null;
    }

    mychka, 25 Июня 2012

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

    +59

    1. 1
    2. 2
    3. 3
    4. 4
    <table>
    	<tr><th colspan="2">Если вы еще не зарегистрированы:</th></tr>
    	<tr><td colspan="2"><a href="/registration.php">Перейдите к регистрации на сайте</a></td></tr>
    </table>

    Глубокий смысл в наличии colspan="2" постичь никак не получается...

    domaster, 14 Июня 2012

    Комментарии (13)
  11. ActionScript / Говнокод #10919

    −147

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function myfunc(e:Event):void
    {
      kolobok.x+=pathX;
      kolobok.y+=pathY;
      if(kolobok.x==25&&kolobok.y==25) {pathX=10;pathY=0;}
      if(kolobok.x==475&&kolobok.y==25) {pathX=0;pathY=10;}
      if(kolobok.x==475&&kolobok.y==475) {pathX=-10;pathY=0;}
      if(kolobok.x==25&&kolobok.y==475) {pathX=0;pathY=-10;}
    }

    Помогите разобраться с циклом, вообще колобок, делает круг вокруг формы, а после он должен опять делать круг но он почему то уходит, я не пойму почему..

    kyzi007, 11 Июня 2012

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