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

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

    −119

    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
    sub getMessages{
    local($mop,$pg,$all)=@_;
    
    if(!&db_query("select insurance_faq_main.id,date_format(insurance_faq_main.date,'%d.%m.%Y'),insurance_faq_main.name,insurance_faq_main.email,insurance_faq_main.www,insurance_faq_main.city,insurance_faq_main.message,insurance_faq_main.ip,answer from insurance_faq_main, insurance_faq_ans where insurance_faq_ans.idm=insurance_faq_main.id order by id desc limit ".$pg*$mop.",$mop")) {$body .= $db_message; return -1}
    
    $id;
    @date;
    @name;
    @email;
    @www;
    @city;
    @msg;
    @ip;
    @answer;
    
    for(local $i=0;defined($rows->[$i]);$i++)
        {
        $id[$i]=$rows->[$i]->[0];
        $date[$i]=$rows->[$i]->[1];
        $name[$i]=$rows->[$i]->[2];
        $email[$i]=$rows->[$i]->[3];
        $www[$i]=$rows->[$i]->[4];
        $city[$i]=$rows->[$i]->[5];
        $msg[$i]=$rows->[$i]->[6];
        $ip[$i]=$rows->[$i]->[7];
        $answer[$i]=$rows->[$i]->[8];
        }
    return $i;
    }

    Мужской способ возвращать результаты из функции

    Suor, 26 Апреля 2010

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

    −89

    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
    Public Class TreeKuBi003
    			''' -----------------------------------------------------------------------------
    			''' <summary>
    			''' Подключение KuBi.
    			''' </summary>
    			''' <remarks>
    			''' </remarks>
    			''' <history>
    			''' 	[Max Pro]	30.01.2009	Created
    			''' </history>
    			''' -----------------------------------------------------------------------------
    			Public Const sKuBi As String = _
    			"	SELECT" & sEnter & _
    			"		iIdTreeKuBi," & sEnter & _
    			"		iIdTreeNone" & sEnter & _
    			"	FROM" & sEnter & _
    			"	    TreeKuBiNone" & sEnter & _
    			"	ORDER BY" & sEnter & _
    			"		iIdTreeKuBi;"
    		End Class		 'TreeKuBi003
    		'''

    А так Максим Прохоров использует классы. На мой вопрос - максим, а зачем тебе нужны классы?
    - ну, чтобы хранить данные.

    ursus, 23 Апреля 2010

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

    +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
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    Избранные куски кода:
    
    Генерация разметки html страницы: (и так страниц 5-6 кода примерно)
    document.body.style.margin = "0px";
    document.title = sTitle;
    document.body.style.backgroundColor = sColor0;
    document.body.style.backgroundImage = "url(" + sImgUrl0 + ")";
    document.body.style.backgroundRepeat = "repeat-x";
    tableMain = document.body.appendChild(document.createElement("table"));
    tableMain.style.fontFamily = "serif";
    tableMain.style.fontSize = "10.5pt";
    tableMain.style.fontWeight = "bold";
    tableMain.id = "tableMain";
    tableMain.style.width = "100%";
    tableMain.style.borderCollapse = "collapse";
    tableMain.cellPadding = "0px";
    
    
    Данные в базе:
    ⌠var var oCell; //рабочая ячейка. var divAny; ⌡var ⌠ini oCell = document.getElementById("cellInfo"); ⌡ini ⌠one ₢₢₢InfoClear(); ⌡one // 0 ₢₢₢A2Add(oCell,"∃∃∃"); oCell.appendChild(document.createTextNode("\u00A0\u00A0\u00A0")); // 1 ₢₢₢A2Add(oCell,"∃∃∃"); oCell.appendChild(document.createTextNode("\u00A0\u00A0\u00A0")); // 2 ₢₢₢A2Add(oCell,"∃∃∃","1_2_76_22"); oCell.appendChild(document.createTextNode("\u00A0\u00A0\u00A0")); // 3 ₢₢₢A2Add(oCell,"∃∃∃"); ₢₢₢BrAdd(oCell); ₢₢₢BrAdd(oCell); // 4 ₢₢₢TextAddDivBlack(oCell,"∃∃∃",1); ₢₢₢BrAdd(oCell); divAny=₢₢₢div6Add(oCell); // 5 ₢₢₢TextAdd(divAny,"∃∃∃"); ₢₢₢TextAdd(divAny,"www.bolshoybiznes.ru"); // 6 ₢₢₢TextAdd(divAny,"∃∃∃"); // 7 ₢₢₢TextAddBrDivGray(oCell,"∃∃∃"); // 8 ₢₢₢TextAddDivGray(oCell,"∃∃∃"); // 9 ₢₢₢TextAddBrDivBlack(oCell,"∃∃∃"); // 10 ₢₢₢TextAddBrDivBlack(oCell,"∃∃∃"); // 11 ₢₢₢TextAddBrDivBlack(oCell,"∃∃∃"); // 12 ₢₢₢TextAddBrDivBlack(oCell,"∃∃∃"); // 13 ₢₢₢TextAddBrDivBlack(oCell,"∃∃∃"); ₢₢₢BrAdd(oCell); // 13+4=17 divAny=₢₢₢divList6Add(oCell,["∃∃∃","∃∃∃","∃∃∃","∃∃∃"]);

    Это яваскрипт имени Максима Прохорова.

    ursus, 23 Апреля 2010

    Комментарии (7)
  5. VisualBasic / Говнокод #3077

    −94

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    // Функция, проверяющая совпадение цветов. Переваривает любые типы
    public static Boolean bColor(Object oR1,Object oG1, Object oB1,Object oR2,Object oG2, Object oB2)
    {
    if(!IsByte(oR1) || !IsByte(oR2) || !IsByte(oG1) || !IsByte(oG2) || !IsByte(oB1) || !IsByte(oB2)) return false;
     }

    Имени Максима Прохорова функция

    ursus, 22 Апреля 2010

    Комментарии (7)
  6. JavaScript / Говнокод #3066

    +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
    16. 16
    <SCRIPT language="JavaScript" type="text/javascript">
      <!--
      var im = new Array("news", "info", "production", "ecology", "social", "friends");
      var img = new Object();
      for (var i=0; i<=5; i++) {
       eval("img." + im[i] + "= new Image()");
       eval("img." + im[i] + "_= new Image()");
       eval("img." + im[i] + ".src = 'images/c_menu_" + im[i] + ".gif'");
       eval("img." + im[i] + "_.src = 'images/c_menu_" + im[i] + "_.gif'");
      }
     
      function changeImage(id, action) {
       eval ("document.images['" + id + "'].src=img." + id + action + ".src");
      }
      //-->
     </SCRIPT>

    turdman, 21 Апреля 2010

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

    +144.8

    1. 1
    2. 2
    3. 3
    <?
    echo $i++ + ++$i;
    ?>

    rvn, 19 Апреля 2010

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

    +149.8

    1. 1
    if( preg_match("#list(/$|$)#is", $requestUri) )

    Человек никогда не слышал про квантификаторы в регулярных выражениях.

    anei, 15 Апреля 2010

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

    +154.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    //Таблица для пароля администратора
    mysql_query("CREATE TABLE $admintable (
    ID SMALLINT UNSIGNED NOT NULL auto_increment,
    pass VARCHAR(30) NOT NULL,
    PRIMARY KEY(ID)
    )");
    
    mysql_query("INSERT INTO $admintable (pass) VALUES ('')");

    оригинальный способ хранения пароля администратора в системе nevius

    breathe, 15 Апреля 2010

    Комментарии (7)
  10. Java / Говнокод #3008

    +74.2

    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
    package efi.base.business.metadata;
    
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    
    public class MetaModel {
        private String name = null;
        private List attributeNames = new ArrayList();
        private List attributeValues = new ArrayList();
    
        public MetaModel(String name) {
            this.name = name;
        }
    
        public String getName() {
            return name;
        }
    
        public void addAttribute(Attribute attribute) {
            attributeNames.add(attribute.getName());
            attributeValues.add(attribute);
        }
    
        public Attribute getAttribute(String attrubuteName) {
            return (Attribute) attributeValues.get(attributeNames.indexOf(attrubuteName));
        }
    
        public Iterator attributesIterator() {
            return attributeNames.iterator();
        }
    }

    Человек, писавший этот говнокласс, видимо и не подозревал, что в JDK кроме листов есть еще и Map-ы :-)

    Andronix, 14 Апреля 2010

    Комментарии (7)
  11. Python / Говнокод #2989

    −140.6

    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
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    from random import randint
    import sys
    import re
    
    
    def recupIP():
        s = r"(%s)" % ("\.".join(['(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)']*4))
        patt = re.compile(s)
        fn = "ip.txt"
        s = open(fn).read()
        i = 0
        global permulist
        permulist = []
        global recuplist
        recuplist = []
        while True:
            m = patt.search(s, i)
            if m:
                recuplist.append(m.group(1))          
                i = m.end()+1
            else:
                break
        
    #########convertir decimal au binaire###########
    
    def decimalbinaire(string):
        quotient=int(string)
        liste=[]
        global res
        res=""
        
        if quotient==0:
            res="00000000"
        else:
            while quotient!=1:
                liste=liste+[quotient%2]
                quotient=quotient/2
            liste=liste+[1]
            while liste!=[]:
                res=res+str(liste[-1])
                liste=liste[:-1]
            if len(res)<8:
                octet=8-len(res)
                res='0'*octet + res
        return res
    recupIP()
    
    z = 0
    binip,convert = [],[]
    i=0
    while i < len(recuplist):
    	string = str(recuplist[i])
    	string = string.split(".")
    	while z < len(string):
    		decimalbinaire(string[z])
    		binip.append(res)
    		z = z + 1
    	binip="".join(binip)
            convert.append(binip)
            i=i+1

    Насколько я понял из условия того кто это делал - программа должна брать список IP-адресов, конвертить их в бинарный формат и затем, сохраняя формат, создавать новый список.
    Реализацию я до конца понять не смог.

    Nook, 11 Апреля 2010

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