1. SQL / Говнокод #1705

    −866.9

    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
    CREATE TABLE [Battles] (
    	[name] [varchar] (20) NOT NULL ,
    	[date] [datetime] NOT NULL 
    ) ON [PRIMARY]
    GO
    CREATE TABLE [Classes] (
    	[class] [varchar] (50) NOT NULL ,
    	[type] [varchar] (2) NOT NULL ,
    	[country] [varchar] (20) NOT NULL ,
    	[numGuns] [tinyint] NULL ,
    	[bore] [real] NULL ,
    	[displacement] [int] NULL 
    ) ON [PRIMARY]
    GO
    CREATE TABLE [dbo].[Ships] (
    	[name] [varchar] (50) NOT NULL ,
    	[class] [varchar] (50) NOT NULL ,
    	[launched] [smallint] NULL 
    ) ON [PRIMARY]
    GO
    CREATE TABLE [dbo].[Outcomes] (
    	[ship] [varchar] (50) NOT NULL ,
    	[battle] [varchar] (20) NOT NULL ,
    	[result] [varchar] (10) NOT NULL 
    ) ON [PRIMARY]
    GO
    ALTER TABLE [dbo].[Battles] ADD 
    	CONSTRAINT [PK_Battles] PRIMARY KEY  CLUSTERED 
    	(
    		[name]
    	)  ON [PRIMARY] 
    GO
    ALTER TABLE [dbo].[Classes] ADD 
    	CONSTRAINT [PK_Classes] PRIMARY KEY  CLUSTERED 
    	(
    		[class]
    	)  ON [PRIMARY] 
    GO
    ALTER TABLE [dbo].[Ships] ADD 
    	CONSTRAINT [PK_Ships] PRIMARY KEY  CLUSTERED 
    	(
    		[name]
    	)  ON [PRIMARY] 
    GO
    ALTER TABLE [dbo].[Outcomes] ADD 
    	CONSTRAINT [PK_Outcomes] PRIMARY KEY  CLUSTERED 
    	(
    		[ship],
    		[battle]
    	)  ON [PRIMARY] 
    GO
    ALTER TABLE [dbo].[Ships] ADD 
    	CONSTRAINT [FK_Ships_Classes] FOREIGN KEY 
    	(
    		[class]
    	) REFERENCES [dbo].[Classes] (
    		[class]
    	) NOT FOR REPLICATION 
    GO
    ALTER TABLE [dbo].[Outcomes] ADD 
    	CONSTRAINT [FK_Outcomes_Battles] FOREIGN KEY 
    	(
    		[battle]
    	) REFERENCES [dbo].[Battles] (
    		[name]
    	)
    GO

    Это с sql-ex.ru , база "корабли"
    Может, упражнения там интересные,
    но сама база истинный говнокод. Почему?
    Строчка
    "В отношение Outcomes могут входить корабли, отсутствующие в отношении Ships."
    делает её говнокодом.

    lexx, 27 Августа 2009

    Комментарии (6)
  2. Куча / Говнокод #1704

    +67.9

    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
    #!/bin/bash
    
    ln -s /tomcat/tc1/logs/CR.log /tomcat/logs/tc1.log
    ln -s /tomcat/tc2/logs/CR.log /tomcat/logs/tc2.log
    ln -s /tomcat/tc3/logs/CR.log /tomcat/logs/tc3.log
    ln -s /tomcat/tc4/logs/CR.log /tomcat/logs/tc4.log
    ln -s /tomcat/tc5/logs/CR.log /tomcat/logs/tc5.log
    ln -s /tomcat/tc6/logs/CR.log /tomcat/logs/tc6.log
    ln -s /tomcat/tc7/logs/CR.log /tomcat/logs/tc7.log
    ln -s /tomcat/tc8/logs/CR.log /tomcat/logs/tc8.log
    
    rm -fR /tomcat/webapps
    mv /tomcat/tc1/webapps /tomcat/webapps
    rm -fR /tomcat/tc1/webapps
    rm -fR /tomcat/tc2/webapps
    rm -fR /tomcat/tc3/webapps
    rm -fR /tomcat/tc4/webapps
    rm -fR /tomcat/tc5/webapps
    rm -fR /tomcat/tc6/webapps
    rm -fR /tomcat/tc7/webapps
    rm -fR /tomcat/tc8/webapps
    ln -s /tomcat/webapps /tomcat/tc1/webapps
    ln -s /tomcat/webapps /tomcat/tc2/webapps
    ln -s /tomcat/webapps /tomcat/tc3/webapps
    ln -s /tomcat/webapps /tomcat/tc4/webapps
    ln -s /tomcat/webapps /tomcat/tc5/webapps
    ln -s /tomcat/webapps /tomcat/tc6/webapps
    ln -s /tomcat/webapps /tomcat/tc7/webapps
    ln -s /tomcat/webapps /tomcat/tc8/webapps
    rm -fR /tomcat/tc2/conf/Catalina/localhost
    rm -fR /tomcat/tc3/conf/Catalina/localhost
    rm -fR /tomcat/tc4/conf/Catalina/localhost
    rm -fR /tomcat/tc5/conf/Catalina/localhost
    rm -fR /tomcat/tc6/conf/Catalina/localhost
    rm -fR /tomcat/tc7/conf/Catalina/localhost
    rm -fR /tomcat/tc8/conf/Catalina/localhost
    ln -s /tomcat/tc1/conf/Catalina/localhost /tomcat/tc2/conf/Catalina/localhost
    ln -s /tomcat/tc1/conf/Catalina/localhost /tomcat/tc3/conf/Catalina/localhost
    ln -s /tomcat/tc1/conf/Catalina/localhost /tomcat/tc4/conf/Catalina/localhost
    ln -s /tomcat/tc1/conf/Catalina/localhost /tomcat/tc5/conf/Catalina/localhost
    ln -s /tomcat/tc1/conf/Catalina/localhost /tomcat/tc6/conf/Catalina/localhost
    ln -s /tomcat/tc1/conf/Catalina/localhost /tomcat/tc7/conf/Catalina/localhost
    ln -s /tomcat/tc1/conf/Catalina/localhost /tomcat/tc8/conf/Catalina/localhost
    rm -fR /tomcat/tc2/lib
    rm -fR /tomcat/tc3/lib
    rm -fR /tomcat/tc4/lib
    rm -fR /tomcat/tc5/lib
    rm -fR /tomcat/tc6/lib
    rm -fR /tomcat/tc7/lib
    rm -fR /tomcat/tc8/lib
    ln -s /tomcat/tc1/lib /tomcat/tc2/lib
    ln -s /tomcat/tc1/lib /tomcat/tc3/lib
    ln -s /tomcat/tc1/lib /tomcat/tc4/lib
    ln -s /tomcat/tc1/lib /tomcat/tc5/lib
    ln -s /tomcat/tc1/lib /tomcat/tc6/lib
    ln -s /tomcat/tc1/lib /tomcat/tc7/lib
    ln -s /tomcat/tc1/lib /tomcat/tc8/lib
    rm -fR /tomcat/tc2/common
    rm -fR /tomcat/tc3/common
    rm -fR /tomcat/tc4/common
    rm -fR /tomcat/tc5/common
    rm -fR /tomcat/tc6/common
    rm -fR /tomcat/tc7/common
    rm -fR /tomcat/tc8/common
    ln -s /tomcat/tc1/common /tomcat/tc2/common
    ln -s /tomcat/tc1/common /tomcat/tc3/common
    ln -s /tomcat/tc1/common /tomcat/tc4/common
    ln -s /tomcat/tc1/common /tomcat/tc5/common
    ln -s /tomcat/tc1/common /tomcat/tc6/common
    ln -s /tomcat/tc1/common /tomcat/tc7/common
    ln -s /tomcat/tc1/common /tomcat/tc8/common

    yvu, 27 Августа 2009

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

    +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
    $sql = "SELECT MAX(user_id) AS total
    				FROM " . USERS_TABLE;
    			if ( !($result = $db->sql_query($sql)) )
    			{
    				message_die(GENERAL_ERROR, 'Could not obtain next user_id information', '', __LINE__, __FILE__, $sql);
    			}
    
    			if ( !($row = $db->sql_fetchrow($result)) )
    			{
    				message_die(GENERAL_ERROR, 'Could not obtain next user_id information', '', __LINE__, __FILE__, $sql);
    			}
    			$user_id = $row['total'] + 1;

    Найдено в phpBB-wap. Перед регистрацией пользователя. $user_id - id регистрирующегося юзера. Похоже, автор не знает про auto_increment

    123qweawdsf12fasfa, 27 Августа 2009

    Комментарии (21)
  4. C++ / Говнокод #1702

    +49.2

    1. 1
    2. 2
    3. 3
    4. 4
    if (strlen(tmpStr) > 250) 
        strncpy(fields[i].info.fieldName, tmpStr, 250);
    else 
        strcpy(fields[i].info.fieldName, tmpStr);

    А пох - все равно скопируем. =)

    rockerzz, 27 Августа 2009

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

    +159.9

    1. 1
    2. 2
    3. 3
    4. 4
    //admin id is usually 1. to think about it
    if (intval($_SESSION['userId']) == 1) {
        return true;
    }

    True ACL.

    Comma, 27 Августа 2009

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

    +80.3

    1. 1
    // here must be english equivalent for simple russian 'nahuya?'

    Bobby, 27 Августа 2009

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

    +159

    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
    class someClass {
        protected $map = array();
    
        public function __construct(Array $data)
        {
            $this->map = $this->generateMap($data);
        }
    
        protected function generateMap(Array $data)
        {
            $map = array();
            foreach ($data as $key => $value) {
                ...
                $map[$otherSomeKey] = $otherSomeValue;
                ...
            }
    
            $this->map = $map;
        }
    }

    Сидел час и не мог понять, почему у меня в $this->map оказывался постоянно NULL!
    Уже передебажил всё, что мог и извел все нервы!

    striker, 27 Августа 2009

    Комментарии (15)
  8. Java / Говнокод #1698

    +70

    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
    for(int i = 0; i < s.length(); i++)
            {
                String c = s.substring(i, i + 1);
                if("_".equals(c) || " ".equals(c) || "-".equals(c))
                {
                    capitalize = true;
                    continue;
                }
                if(c.toUpperCase().equals(c))
                {
                    if(lastDecapitalized && !lastCapital)
                        capitalize = true;
                    lastCapital = true;
                } else
                {
                    lastCapital = false;
                }
                if(capitalize)
                {
                    if(p == null || !p.equals("_"))
                    {
                        result.append(c.toUpperCase());
                        capitalize = false;
                        p = c;
                    } else
                    {
                        result.append(c.toLowerCase());
                        capitalize = false;
                        p = c;
                    }
                } else
                {
                    result.append(c.toLowerCase());
                    lastDecapitalized = true;
                    p = c;
                }
            }

    Позор Jboss'овцам!
    это код из HibernateTools, теперь понятно почему оно такое глючное Г

    asdqwezx, 27 Августа 2009

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (!@unlink('very-important-file.db')){
          echo strtoupper('ф'), 'а', 'й', 'л', 'а', ' ', 'н', 'е', ' ', 'с', 'у', 'щ', 'е', 'с', 'т', 'в', 'у', 'е', 'т';
    } else {
          echo strtoupper('ф'), 'а', 'й', 'л', ' ', 'с', 'у', 'щ', 'е', 'с', 'т', 'в', 'о', 'в', 'а', 'л';
    }

    так проверяют существование файла все Ъ пацаны

    VladX, 26 Августа 2009

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

    +141.7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    HWsDigrfLvdsctrlRxEnable(HWvDigrflvdsctrlrxenableOn) ; 
        HWsDigrfLvdsctrlIcmEnable(HWvDigrflvdsctrlicmenableOn) ;
        HWsDigrfLvdsctrlRxSpeed(HWvDigrflvdsctrlrxspeedF2) ; 
    
        HWsDigrfLvdsctrlTxEnable(HWvDigrflvdsctrltxenableOn) ;
        HWsDigrfLvdsctrlTxSpeed(HWvDigrflvdsctrltxspeedF) ;

    Кусок конфигурационного кода (реальный проект). Фантазия авторов на имена функций поражает...

    govnocoder, 26 Августа 2009

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