1. Куча / Говнокод #7208

    +129

    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
    ;;; Returns a string and 'T' if the list is in a desc. or asc. order, and NIL otherwise
    
    (defun ordered (list)
    (let ((list-dec (copy-list list)))
    (let ((list-inc (copy-list list)))
    (let ((alist (sort list-inc #'<)))
    (let ((dlist (sort list-dec #'>)))
    (cond
      ((equal list dlist)
       (format nil "~%The numbers in ~a are in a descending order. ~%T" list))
    
      ((equal list alist)
       (format nil "~%The numbers in ~a are in an ascending order. ~%T" list))))))))

    Задача была следующей: функция должна возвращать t (истина), если в списке все элементы либо в восходящем, либо в нисходящем порядкe, и соответсвенно nil (ложь), если нет. Думаю, вполне сгодится сюда :)
    http://www.lispforum.com/viewtopic.php?f=2&t=1275

    wvxvw, 08 Июля 2011

    Комментарии (28)
  2. Perl / Говнокод #7207

    −84

    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
    my $cat='';
    
              if ($q->param('category'))
              {
              my @originalCategory = $q->param('category')?$q->param('category'):undef;
              $cat='and (';
              my $arg;
                                                    foreach  $arg(@originalCategory)
                                                    {
                                                    $cat.= '(ngf.category=';
                                                    $cat.= $arg;
                                                    $cat.= ') or ';
                                                    }
              chop ($cat);chop ($cat);chop ($cat);chop ($cat);
    
              $cat .= ')';
              }

    формирование where для выборки по категориям указанных пользователем

    BuHHu-nyX, 08 Июля 2011

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

    +963

    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
    public void прорисовка_точек()
            {
                for (int i = 0; i < лист_точек.Count; i++)
                {
                    //Data0
                    if (((лист_точек[i] as ArrayList)[4] as ArrayList).Count != 0)
                    {
                        уровни определение_уровня = new уровни(s, (лист_точек[i] as ArrayList)[3].ToString(), 4);
                        if (определение_уровня.рисуем == true)
                        {
                            string type = (лист_точек[i] as ArrayList)[1].ToString();                        
                            for (int k = 0; k < ((лист_точек[i] as ArrayList)[4] as ArrayList).Count; k++)
                            {
                                PointF point = (((лист_точек[i] as ArrayList)[4] as ArrayList)[k] as List<PointF>)[0];
                                преобразование_координат координаты_старые = new преобразование_координат(point.X, point.Y, коэф_старый.max_x, коэф_старый.max_y, коэф_старый.K_x, коэф_старый.K_y);
                                point.X = (float)((новый.max_x_new - координаты_старые.xn) * новый.K_x_new * s);
                                point.Y = (float)((новый.max_y_new - координаты_старые.yn) * новый.K_y_new * s);
                                Rectangle rect = new Rectangle(Convert.ToInt32(point.X),Convert.ToInt32(point.Y),1,1);
                                if (проверка(this.Width, this.Height, point.X, point.Y) == true)
                                {
                                    Кисти_точек точки = new Кисти_точек(type);
                                    G.DrawImage(точки.bitm, point.X, point.Y, точки.bitm.Width, точки.bitm.Height);
                                }
                               прорисовка_надписей_точек(point, ((лист_точек[i] as ArrayList)[2].ToString()));
                            }
                        }
                    }
                }
            }

    Взято отсюда http://www.cyberforum.ru/csharp-net/thread330291-page3.html

    vvs, 08 Июля 2011

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

    +162

    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
    private function _moveIndexes($filters,$int){
    		$count = count($filters);
    		for($i=2;$i<$count;$i++ ){
    			$filters[$i]["filter"]["index"] += $int;
    		}
    		return $filters;
    	}
    
    	private function _removeDefaultFilters(){
    		$this->data["Data"]["filters"] = $this->_moveIndexes($this->data["Data"]["filters"],-2);
    
    		$count = count($this->data["Data"]["filters"]);
    		for($i=0;$i<$count-2;$i++){
    			$this->data["Data"]["filters"][$i] = $this->data["Data"]["filters"][$i+2];
    		}
    		array_pop($this->data["Data"]["filters"]);
    		array_pop($this->data["Data"]["filters"]);
    	}

    Такой вот код... Ни строчки пояснений к нему не прилагается.
    Метод "_removeDefaultFilters()", а в коде сплошная магия.

    Почему в for() $count-2??? А внутри цикла [$i+2]...
    В другом же for() $i=2???
    В вызове _moveIndexes() второй параметр -2 (минус 2) и это значение внутри фнкции плюсуется!
    Вдовершение всего двойной вызов array_pop()...
    И всё это покрыто тайной мрака.

    zabuhailo, 08 Июля 2011

    Комментарии (11)
  5. 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)
  6. 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)
  7. 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)
  8. 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)
  9. 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)
  10. Ruby / Говнокод #7199

    −98

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

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

    malleus, 07 Июля 2011

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