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

    В номинации:
    За время:
  2. 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)
  3. 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)
  4. 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)
  5. 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)
  6. PHP / Говнокод #3056

    +144.8

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

    rvn, 19 Апреля 2010

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

    +149.8

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

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

    anei, 15 Апреля 2010

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

    +144.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
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    #ifndef __gen_spi_h
    #define __gen_spi_h
    
    #ifndef SPI_PORT_TYPE_OVERRIDE
    #define SPI_PORT_TYPE unsigned int
    #endif
    
    #ifndef SPI_BYTE_TYPE_OVERRIDE
    #define SPI_BYTE_TYPE unsigned char 
    #endif
    
    // SPI SS SIGNAL --- OUT
    #define DECL_SS(N, P, B) \
    volatile SPI_PORT_TYPE *const _##N##_SS_POUT = &(P##OUT); \
    volatile SPI_PORT_TYPE *const _##N##_SS_PDIR = &(P##DIR); \
    const SPI_PORT_TYPE           _##N##_SS_BIT  = B
    
    // SPI SCK SIGNAL --- OUT
    #define DECL_SCK(N, P, B) \
    volatile SPI_PORT_TYPE *const _##N##_SCK_POUT = &P##OUT; \
    volatile SPI_PORT_TYPE *const _##N##_SCK_PDIR = &(P##DIR); \
    const SPI_PORT_TYPE           _##N##_SCK_BIT  = B
    
    // SPI MOSI SIGNAL --- OUT
    #define DECL_MOSI(N, P, B) \
    volatile SPI_PORT_TYPE *const _##N##_MOSI_POUT = &P##OUT; \
    volatile SPI_PORT_TYPE *const _##N##_MOSI_PDIR = &P##DIR; \
    const SPI_PORT_TYPE           _##N##_MOSI_BIT  = B
    
    // SPI MISO SIGNAL --- IN
    #define DECL_MISO(N, P, B) \
    volatile SPI_PORT_TYPE *const _##N##_MISO_PIN  = &P##IN; \
    volatile SPI_PORT_TYPE *const _##N##_MISO_PDIR  = &P##DIR; \
    const SPI_PORT_TYPE           _##N##_MISO_BIT  = B
    
    #define SETSS(N) *(_##N##_SS_POUT) |= _##N##_SS_BIT
    #define CLRSS(N) *(_##N##_SS_POUT) &= ~(_##N##_SS_BIT)
    
    #define SETMOSI(N) *(_##N##_MOSI_POUT) |= _##N##_MOSI_BIT
    #define CLRMOSI(N) *(_##N##_MOSI_POUT) &= ~(_##N##_MOSI_BIT)
    
    #define SETCLK(N) *(_##N##_SCK_POUT) |= _##N##_SCK_BIT
    #define CLRCLK(N) *(_##N##_SCK_POUT) &= ~(_##N##_SCK_BIT)
    
    #define READMISO(N) (((*(_##N##_MISO_PIN)) & _##N##_MISO_BIT) != 0)
    
    #define SPI_SETUP(N) \
        SETSS(N); \
       *(_##N##_SCK_PDIR)  |= _##N##_SCK_BIT;     \
       *(_##N##_MOSI_PDIR) |= _##N##_MOSI_BIT;    \
       *(_##N##_SS_PDIR)   |= _##N##_SS_BIT;      \
       *(_##N##_MISO_PDIR) &= ~(_##N##_MISO_BIT); \
        CLRSS(N); \
        SETSS(N)
    
    #define DECL_SPI_TRANS_BYTE(N) \
    SPI_BYTE_TYPE _##N##_spi_trans_byte(SPI_BYTE_TYPE val) { \
      register SPI_BYTE_TYPE bitnum; \
      for (bitnum = 0; bitnum < 8; bitnum++) { \
        if (val & 0x80) SETMOSI(N); \
        else CLRMOSI(N); \
        val <<= 1; \
        SETCLK(N); \
        val |= READMISO(N); \
        CLRCLK(N); \
      } \
      return val; \
    } \
    
    #define SPI_BEGIN(N) SETSS(N);CLRSS(N)
    #define SPI_END(N)   SETSS(N)
    
    #define SPI_TRANS_BYTE(N, B) _##N##_spi_trans_byte((B))
    
    #endif

    dmzlj.livejournal.com, 10 Апреля 2010

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