1. C++ / Говнокод #7204

    +172

    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
    template<class face>
    face getFace(face)
    {
    	static face _face;
    	return _face;
    };
    
    template<class face>
    face* getFace(face*)
    {
    	static face _face;
    	return &_face;
    };
    
    template<char className>
    struct SimpleFace
    {
    	void printMe()
    	{
    		cout<<"ClassName is "<< className<<endl;
    	};
    };
    
    template<class face, char className>
    struct TrollFace : public SimpleFace<className>
    {
    	face operator->() const
    	{
    		return getFace(face());
    	};
    };
    
    typedef SimpleFace<'H'> H;
    struct G: public TrollFace< H, 'G'>{};
    struct F: public TrollFace< G, 'F'>{};
    struct E: public TrollFace< F*, 'E'>{};
    struct D: public TrollFace< E*, 'D'>{};
    struct C: public TrollFace< D*, 'C'>{};
    struct B: public TrollFace< C, 'B'>{};
    struct A: public TrollFace< B, 'A'>{};
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	A a;
    	a.printMe();
    	a->printMe();

    На днях, мой знакомый задал мне вопрос (видимо, решил меня потроллить):
    "Что будет выведено на экран при запуске данной программы?"
    Этот вопрос ему задали при собеседовании в одну серьёзную фирму. Естественно, пользоваться компилятором запрещено.

    Говногость, 07 Июля 2011

    Комментарии (85)
  2. JavaScript / Говнокод #7203

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    <script type="text/javascript" >
    			var index = "550000";
    			var regv=/\d\d\d\d\d\d/;
    			var result =index.search(regv);
    			document.write(result);
    </script>

    Попался мне видео урок одного известного урокмайкера. В уроке он рассказал как сделать рег. выражение проверки корректности почтового индекса. И вот это он показал...
    Ув. Автор сего говна объясните людям в своих уроках что так делать не надо. Избавьте людей от написания полукилометровых регулярок, и научите их пользоватся квантификаторами.

    enemis, 07 Июля 2011

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

    +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
    if	($page	!=	1)		$pervpage		=	'<a href="?emw;News;1" rel="history2">'.first.'</a> | <a href="?emw;News;'.($page - 1).'" rel="history2">'.previous.'</a> | ';
    if	($page	!=	$total)	$nextpage		=	' | <a href="?emw;News;'.($page + 1).'" rel="history2">'.next.'</a> | <a href="?emw;News;'.$total.'" rel="history2">'.last.'</a>';
    if	($page - 5	>	0)	$page5left		=	'<a href="?emw;News;'.($page - 5).'" rel="history2">'.($page - 5).'</a> | ';
    if	($page - 4	>	0)	$page4left		=	'<a href="?emw;News;'.($page - 4).'" rel="history2">'.($page - 4).'</a> | ';
    if	($page - 3	>	0)	$page3left		=	'<a href="?emw;News;'.($page - 3).'" rel="history2">'.($page - 3).'</a> | ';
    if	($page - 2	>	0)	$page2left		=	'<a href="?emw;News;'.($page - 2).'" rel="history2">'.($page - 2).'</a> | ';
    if	($page - 1	>	0)	$page1left		=	'<a href="?emw;News;'.($page - 1).'" rel="history2">'.($page - 1).'</a> | ';
    if	($page + 5 <= $total) $page5right	=	' | <a href="?emw;News;'. ($page + 5) .'" rel="history2">'.($page + 5).'</a>';
    if	($page + 4 <= $total) $page4right	=	' | <a href="?emw;News;'. ($page + 4) .'" rel="history2">'.($page + 4).'</a>';
    if	($page + 3 <= $total) $page3right	=	' | <a href="?emw;News;'. ($page + 3) .'" rel="history2">'.($page + 3).'</a>';
    if	($page + 2 <= $total) $page2right	=	' | <a href="?emw;News;'. ($page + 2) .'" rel="history2">'.($page + 2).'</a>';
    if	($page + 1 <= $total) $page1right	=	' | <a href="?emw;News;'. ($page + 1) .'" rel="history2">'.($page + 1).'</a>';
    if	($total	>	1)
    {
    	Error_Reporting(E_ALL & ~E_NOTICE);
    	echo	"<center><div class=\"pstrnav\">";
    	echo	$pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
    	echo	"</div></center>";
    }

    Навигация.

    theaqua, 07 Июля 2011

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

    +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
    function f_includes(&$text){
    
    		//REPLACE FILE INCLUDES LINKS
     		$regex = '/{(ФАЙЛ=)\s*(.*?)}/i';
    		$matches = array();
    		preg_match_all( $regex, $text, $matches, PREG_SET_ORDER );		
    		foreach ($matches as $elm) {	
    			$elm[0] = str_replace('{', '', $elm[0]);
    			$elm[0] = str_replace('}', '', $elm[0]);			
    			parse_str( $elm[0], $args );
    			$file=@$args['ФАЙЛ'];	
    			if ($file){		
    				$output = getLink($file);			
    			} else { $output = ''; }
    			$text = str_replace('{ФАЙЛ='.$file.'}', $output, $text );	
    		}
    
    		return true;
    }

    Что за п##дец. InstantCMS.

    invision70, 07 Июля 2011

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

    +164

    1. 1
    2. 2
    if ($user_id){ $user_sql = "(c.user_id=$user_id OR c.session_id='$sid')"; } else { $user_sql = "(c.user_id=0 AND c.session_id='$sid')"; }
    $sql = "SELECT i.title as title, i.price as price, c.itemscount as itemscount, i.category_id as category_id FROM cms_uc_cart c, cms_uc_items i WHERE c.item_id = i.id AND $user_sql";

    Все гениально и просто б#я! InstantCMS. Пол движка с подобными условиями. Писали школьники?! Видимо да ;(
    P.S Соре просто с г#вном пришлось работать. Чувствую себя фермером 0_0

    invision70, 07 Июля 2011

    Комментарии (1)
  6. Ruby / Говнокод #7199

    −98

    1. 1
    amount = ('-' + batch['settleAmount'].to_s).to_i

    работа с платежными системами требует вдумчивости и оригинальности.

    malleus, 07 Июля 2011

    Комментарии (12)
  7. PHP / Говнокод #7198

    +160

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    <?php
    //...
    public function saveTask($task){
    			if(is_numeric($task->id)){ //How do I check whether a member exists in php?
    				//update
    			}else{
    				// insert new
    			}
    		}
    //...

    Комментарий на 4-й строке убивает.
    Снова код из vTiger CRM.

    mr.The, 07 Июля 2011

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

    +31

    1. 1
    $("body.front #content-inner").prepend('<div id="frontscroller-top"></div><div id="frontscroller-bottom"></div><div id="frontscroller"><a href="#" class="up" onclick="scrollup();return false;"></a><a href="#" class="down" onclick="scrolldown();return false;"></a></div>');

    Созерцаю творчество маркетолога-программиста проживающего на сайте conspirolog.ru
    Маркетологи-программисты такие маркетологи. блядь.

    brainstorm, 07 Июля 2011

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

    +161

    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
    const LinkText = 'Разместить заявку'; // текст по умолчанию для ссылки в шаблонах
    
    // Применение
    
    		$sql = 'SELECT
    					ContestID,
    					DateStart,
    					DateEnd,
    					Name,
    					ThumbImg,
    					EntryText,
    					ResultText,
    					LinkText,
    					"' . self::LinkText . '" AS LinkTextByDefault,
    					VoteDateStart,

    Действительно, почему бы не отправить мускулу константу, чтобы потом получить ее и подставить в шаблон?

    lorwe, 07 Июля 2011

    Комментарии (6)
  10. Lua / Говнокод #7195

    −92

    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
    -- async IO operations
    -- op1.asyncRun(cb) - execute op1, and call cb(op1_result) after op1 completion
    
    -- op1 * g - new async operation which will execute op1.asyncRun(), then execute g(op1_result).asyncRun() and return op2_result
    -- op1 .. op2 - the same, but ignore result of op1. Will execute op1.asyncRun(), then op2.asyncRun() and return op2_result
    private.binder = {
    __mul =
            function(op1, g)
                local op = {
                    asyncRun =
                        function(cb)
                            op1.asyncRun(
                                function(op1_result)
                                    g(op1_result).asyncRun(cb)
                                end
                            )
                        end
                }
                setmetatable(op, private.binder)
                return op
            end,
    
    __concat =
            function(op1, op2)
                 return op1 * function(op1_result) return op2 end
            end,
    
    __metatable = 1
    }
    
    -- примеры использования:
    -- (Chatter.IO.Log("tic") .. Chatter.IO.Sleep(1000) .. Chatter.IO.Log("tac") .. Chatter.IO.Sleep(1000) .. Chatter.IO.Log("toe")).asyncRun(function() end)
    -- (Chatter.IO.GetTime * Chatter.IO.Log .. Chatter.IO.Sleep(1000) .. Chatter.IO.GetTime * Chatter.IO.Log).asyncRun(function() end)

    Lua.

    burdakovd, 07 Июля 2011

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