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

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

    +140

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    // connection reset by peer?
          if(tcpflags & TCP_FLAG_RST)
          {
             st->status = TCP_CLOSED;
             if( (st->status == TCP_ESTABLISHED) ||
                (st->status == TCP_FIN_WAIT) )
             {
                tcp_closed(id, 1);
             }
             return;
          }

    из одного маленького эмбеддед-проектика)

    odmin, 24 Мая 2011

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if ($rightDisplayDelete == 1) {
        $images = $model->getData(1);
        $this->tmpl['pagination']	= &$model->getPagination(1);
    } else {
        $images = $model->getData(0);
        $this->tmpl['pagination']	= &$model->getPagination(0);
    }

    И снова модуль Phocagallery для Joomla!

    somebody, 20 Мая 2011

    Комментарии (3)
  4. ActionScript / Говнокод #6694

    −109

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    override public function call(... rest):void
    {
    	var callname:String = rest[0];
    	var paramsStr:String = "";
    	
    	for(var i:int = 1; i < rest.length; i++)
    	{
    		paramsStr += rest[i] + ((i == rest.length - 1) ? "" : ",");
    	}
    	
    	ExternalInterface.call("page.appplicationToVideoPage", callname, paramsStr);
    }

    Все тот же автор продолжает говнореализацию встроенных функций и классов. (Особого внимания заслуживает говноархитектура предполагающая вызывать reflection API через reflection. Т.е. page.appplicationToVideoPage - это функция, которая парсит аргументы обратно, и вызывает функцию callname с параметрами полученными из paramsStr. Человека не устроил ExternalInterface, и он решил его тоже, через жопу, реализовать еще раз, средствами, естесственно ExternalInterface).

    wvxvw, 17 Мая 2011

    Комментарии (3)
  5. ActionScript / Говнокод #6625

    −110

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    public function setCategory(categoryType:String):void
    {
    	giftIcon.visible 		= (categoryType == ActionsEnum.GIFTS);
    	effectIcon.visible 		= (categoryType == ActionsEnum.EFFECTS);
    	skinIcon.visible 		= (categoryType == ActionsEnum.SKINS);	
    	gamesIcon.visible 		= (categoryType == ActionsEnum.GAMES);
    	activtiesIcon.visible 	= (categoryType == ActionsEnum.APPLICATIONS);
    }

    Глядя на мир нельзя не удивлятся.

    wvxvw, 11 Мая 2011

    Комментарии (3)
  6. SQL / Говнокод #6622

    −861

    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
    /* Formatted on 2011/05/11 16:11 (Formatter Plus v4.8.7) */
    CREATE SEQUENCE tmpseq
    /
    CREATE TABLE tmpt(a NUMBER, b NUMBER)
    /
    CREATE OR REPLACE TRIGGER tmpt_bi
       BEFORE INSERT
       ON tmpt
       REFERENCING NEW AS NEW OLD AS OLD
       FOR EACH ROW
    BEGIN
       IF :NEW.a IS NULL
       THEN
          SELECT tmpseq.NEXTVAL
            INTO :NEW.a
            FROM DUAL;
       END IF;
    END;
    /
    DECLARE
       l_a   tmpt.a%TYPE;
       n     NUMBER;
    BEGIN
       FOR n IN 5 .. 8
       LOOP
          INSERT INTO tmpt
                      (b
                      )
               VALUES (n
                      )
            RETURNING a
                 INTO l_a;
    
          DBMS_OUTPUT.put_line (l_a);
       END LOOP;
    END;
    /
    select * from tmpt
    /
    DROP TRIGGER tmpt_bi
    /
    DROP TABLE tmpt
    /
    DROP SEQUENCE tmpseq
    /
    COMMIT

    иногда я не верю мануалам и проверяю себя небольшими кусочками кода. на этот раз я проверил конструкцию returning

    RomaShka, 11 Мая 2011

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

    +170

    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
    int key;
    float ar1[3];
    int ar2[3];
    int cnt = 0;
    if (P[min][0] > 0) {ar1[cnt] = P[0][0]/P[min][0]; ar2[cnt++] = 0;}
    if (P[min][1] > 0) {ar1[cnt] = P[0][1]/P[min][1]; ar2[cnt++] = 1;}
    if (P[min][2] > 0) {ar1[cnt] = P[0][2]/P[min][2]; ar2[cnt++] = 2;}
    if (cnt == 1)
        key = ar2[0];
    else if (cnt == 2)
        key = (ar1[0] < ar1[1] ? ar2[0] : ar2[1]);
    else
        key = (ar1[0] < ar1[1] ? (ar1[0] < ar1[2] ? ar2[0] : ar2[2]) : (ar1[1] < ar1[2] ? ar2[1] : ar2[2]));

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

    Kona-chan, 11 Мая 2011

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

    +156

    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
    function newImage(arg) {
        if (document.images) {
            rslt = new Image();
            rslt.src = arg;
            return rslt;
        }
    }
    
    function preloadImages() {
              newImage("bigphoto/kran.jpg");
              newImage("bigphoto/z1.jpg");
              newImage("bigphoto/z2.jpg");
              newImage("bigphoto/truba.jpg");
              newImage("bigphoto/put.jpg");
    }

    moonie, 05 Мая 2011

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

    +163

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>">
    <head>
    	<jdoc:include type="head" />
    	<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/general.css" type="text/css" />
    	<?php
    	$db = & JFactory::getDbo();
    		$query	= 'SELECT template'
    				. ' FROM #__templates_menu'
    				. ' WHERE client_id = 0 AND menuid = 0';
    
    		$db->setQuery($query);
    		$template = $db->loadResult();

    Кусок шаблона для джумлы.

    Lurk, 22 Апреля 2011

    Комментарии (3)
  10. Perl / Говнокод #6369

    −112

    1. 1
    print "Match" if 'ab' =~ /^a?(?=b)b/;

    Я не один раз находил ошибки в Perl особенно в Perl регулярных выражениях. Некоторые из них уже исправили, но одна остаётся и в версии ActiveState Perl 5.10.

    BlackMonolit, 15 Апреля 2011

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

    +117

    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
    WorksheetRow row = new WorksheetRow();
    row.Cells.Add("");
    
    // ispublished
    row.Cells.Add(point.IsPublished ? "+" : "");
    
    // id superregion
    row.Cells.Add(point.Town.Region.SuperRegion.Id.ToString());
    
    // name superregion
    if (cleanupTags)
    	row.Cells.Add(CleanXMLTags(point.Town.Region.SuperRegion.Name));
    else row.Cells.Add(point.Town.Region.SuperRegion.Name);
    
    // id rregion
    row.Cells.Add(point.Town.Region.Id.ToString());
    
    // name region
    if (cleanupTags)
    	row.Cells.Add(CleanXMLTags(point.Town.Region.DefaultText.Name));
    else row.Cells.Add(point.Town.Region.DefaultText.Name);
    
    ...
    
    StringBuilder subwayIDs = new StringBuilder("");
    StringBuilder subwayNames = new StringBuilder("");
    foreach (Subway subway in point.Subways)
    {
    	subwayIDs.Append(subway.Id).Append(", ");
    	subwayNames.Append(subway.DisplayName).Append(", ");
    }
    string sIDs = subwayIDs.ToString();
    if (sIDs.Length > 0) sIDs = sIDs.Substring(0, sIDs.Length - 2);
    
    string sNames = subwayNames.ToString();
    if (sNames.Length > 0) sNames = sNames.Substring(0, sNames.Length - 2);

    Это 10% от метода. Там все в том же духе.

    ShurikEv, 14 Апреля 2011

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