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

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

    +149

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    <?php
    while($menu = mysql_fetch_assoc($q))
    {
    	?>
    	<option value="<?=$menu['id']?>"<?=($id === $menu['id']) ? ' selected="selected"' : ''?>><?=$menu['title']?></option>
    	<?php
    }
    ?>

    Адовейший пиздец наговнокодил сегодня. Ну не люблю я HTML-теги в PHP писать, о шаблонизаторах никогда не слышал

    3Jlou_OguHo4ka, 30 Июня 2013

    Комментарии (32)
  3. Pascal / Говнокод #13260

    +129

    1. 1
    Что за питух мои г-коды удаляет?

    Stertor, 29 Июня 2013

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

    +8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    int wordLen(const char* word) 
    { 
        int i=-1; 
        while(word[++i]!='\0'&&word[i]!='\n'); 
        return i; 
    }

    Типичная лаба, но как же смешно это увидеть спустя некоторое время

    iofjuupasli, 29 Июня 2013

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $res = mysql_query('select `date` from `pic`');
    
    while($data = mysql_fetch_row($res)){
           if(date('d.m.y') != date('d.m.y',$data[0])) continue;
           $countPicToday++;
    }

    Не понятно. Почему нельзя было использовать COUNT() и WHERE

    AlexP, 20 Июня 2013

    Комментарии (32)
  6. Perl / Говнокод #12980

    −103

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    sub exdef {
        my ($hash, $key) = @_;
    
        if (exists $hash->{$key} && defined $hash->{$key}) {
            return 1;
        }
    
        return 0;
    }

    No comments.

    BTW.
    http://perldoc.perl.org/functions/exists.html
    http://perldoc.perl.org/functions/defined.html

    Elvenfighter, 08 Мая 2013

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

    −107

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    - (void)cellButtonTapped:(UIButton *)sender
    {
        UITableViewCell* cell = (id) sender.superview.superview.superview;
        ...
    }

    Жечь в печах таких людей

    notxcain, 01 Апреля 2013

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

    +8

    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
    #include <iostream>
     
    struct Reader_msg;
    template<class T>struct TMsg;
     
    struct IMsg
    {
        virtual ~IMsg(){}
        virtual void SendCast(Reader_msg& obj) = 0;
    };
     
    struct Some{}; 
     
    struct Reader_msg
    {
        template<class T> void ReadMsg(T& msg)
        {
            //Здесь можно приляпать статик_ассерт
            std::cout<<"ERROR UNKNOW TYPE \n";
        }
        void ReadMsg(int msg)   { (void)msg; std::cout<<"TYPE IS INT\n";   }
        void ReadMsg(float msg) { (void)msg; std::cout<<"TYPE IS FLOAT\n"; }
        void ReadMsg(Some msg)  { (void)msg; std::cout<<"TYPE IS SOME\n";  }
     
        template<class T>void TakeMsg(T& msg) { msg.SendCast(*this); }
    };
     
    template<class T>struct TMsg:IMsg
    {
        T data;
        void SendCast(Reader_msg& obj){ obj.ReadMsg(data); }
    };
     
     
    int main()
    {
        Reader_msg reader;
        TMsg<int>    msg1;
        TMsg<float>  msg2;
        IMsg& msg3 = msg1;
        IMsg& msg4 = msg2;
        TMsg<Some>   msg5;
        TMsg<double> msg6;
        
     
        reader.TakeMsg(msg1);
        reader.TakeMsg(msg2);
        reader.TakeMsg(msg3);
        reader.TakeMsg(msg4);
        reader.TakeMsg(msg5);
        reader.TakeMsg(msg6);
    }

    http://liveworkspace.org/code/4FHDTq$6

    LispGovno, 18 Января 2013

    Комментарии (32)
  9. Perl / Говнокод #12382

    −103

    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
    # save all blocks to %blocks. Replace first block with <block blockname />
    	sub _parse_block {
    		my $tag = $_[1];
    		
    		last unless $_[0]=~s#($tag->[0]block +([^ /]*?) *$tag->[1])((.*?)$tag->[0]/?block$tag->[1])#
    				my($opentag,$source,$bname,$bcode, $retval) = ($1,$3, $2, $4, '');
    				if( $bcode =~m|$tag->[0]block +[^ /]*? *$tag->[1]|){
    					_parse_block($source, $tag);
    					$retval =  $opentag.$source;
    				}else{
    					$retval = "$tag->[0]block $bname /$tag->[1]" unless exists $blocks{$bname};
    					
    					$bcode=~s%$tag->[0](:? |/)*parent(:? |/)*$tag->[1]%$blocks{$bname}%g;
    					
    					$blocks{$bname} = $bcode; 
    				}
    				$retval;
    		#seg;
    	}
    	
    	foreach my $tag( @{$self->{tag_symbols}} ){
    		_parse_block($code,$tag) while(1);
    	}
    
    	
    	
    	#if <blockmode> turned on, delete all data that not in blocks until </blockmode> or end of code
    	
    	foreach my $tag( @{$self->{tag_symbols}} ){
    		$code=~s%$tag->[0] *blocks?(?:mode?)? *$tag->[1](.*?)(?:(?:$tag->[0] *\/ *blocks?(?:mode?)? *$tag->[1])|(';#end of code))%
    			$_ = $1; my $end_of_code = $2;
    			my $retval;
    			$retval .= $1 while( m/($tag->[0]block +[^ ]*? *\/.*?$tag->[1])/g ); 
    			
    			$retval.$end_of_code;
    		%esg;
    		#
    	}
    	
    	
    	# replace <block blockname /> with a code block
    	foreach my $tag( @{$self->{tag_symbols}} ){
    		while($code=~s|$tag->[0]block +([A-zА-я0-9_-]*?) */.*?$tag->[1]|$blocks{$1}|eg){};
    	};

    Кусок шаблонизатора. Парсинг вложенных тегов регулярками.

    nyaknyan, 02 Января 2013

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

    +19

    1. 1
    2. 2
    3. 3
    4. 4
    Class1* c1 = (Class1*)malloc(sizeof(Class1)*N);
    Class2* c2 = (Class2*)malloc(sizeof(Class2)*N);
    for (long i = 0; i < N; i++) c1[i] = Class1();
    for (long i = 0; i < N; i++) c2[i] = Class2();

    Рассказать ему про new[] / delete[]?

    runewalsh, 29 Ноября 2012

    Комментарии (32)
  11. Куча / Говнокод #12113

    +121

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    Поздравляю, дамы и господа, крупнейшая электронная библиотека русских книг lib.rus.ec попала в России под запрет.
    
        Искомый ip адрес внесен в реестр
        Дата основания для внесения в реестр 05.11.2012
        Номер основания для внесения в реестр 2/2/16482
        Орган, принявший решение о внесении в реестр ФСКН
        Дата внесения в реестр 11.11.2012

    zapret-gov.ru

    Fatal error: Cannot redeclare get_web_page() (previously declared in /home/u749066976/public_html/parser.php:7) in /home/u749066976/public_html/parser.php on line 35

    bot, 13 Ноября 2012

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