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

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

    +113

    1. 1
    char anarch[sizeof(long double) * sizeof(long)];

    Задали одному студенту (5 курса, между прочим) написать программу для решения анаграмм...
    Перед вами фрагмент кода, где объявляется буфер для хранения слова.
    На вопрос "Зачем ты так написал?" ответ был: "Хотел избавиться от дефайнов и магических чисел".
    На вопрос о размере буфера ответ был: "Так ведь не бывает слов длиннее 40 букв".

    TarTar, 09 Октября 2010

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    if ( условие )                                                                                                                                                                                                                                                                                                                                             ;                 
    {
     //что-либо сделать
    };

    //"счастливой отладки" v.2.0
    отгреб в собственном-же коде)))))

    Denjs, 08 Октября 2010

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

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    void __fastcall ReverseStream(TMemoryStream* Stream)
    {
        TMemoryStream* buf = new TMemoryStream;
        buf->LoadFromStream(Stream);
        __int64 size = Stream->Size;
        Stream->Clear();
        for (__int64 i=size-1; i >= 0; i--) {
            buf->Position = i;
            Stream->CopyFrom(buf, 1);
        }
    }

    Мне cpu+mem жалко, когда такие простые задачи творят через такие навороты...

    fddpro, 20 Сентября 2010

    Комментарии (16)
  5. Java / Говнокод #4230

    +78

    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
    public class ServiceRunner implements Runnable {
        
        Thread thread = null;
        ServiceUI service;
        public ServiceRunner(ServiceUI service) {       
            this.service = service;
        }
        
        public void start() {
            this.thread = new Thread(this);
            this.thread.start();
        }
    
        public void run() {        
            while (true) {            
                this.service.receiveMessages();            
                try {
    	 	this.thread.sleep(CommonConst.INTERVAL_SERVICE * 1000);
    	    } catch (java.lang.InterruptedException e) {
                    Log.log(Log.ERROR,this,e);
    	}
            this.service.sendMessages();        
            try {
    	       this.thread.sleep(CommonConst.INTERVAL_SERVICE *1000);
    	} catch (java.lang.InterruptedException e) {
                   Log.log(Log.ERROR,this,e);
    	}
        }
        
    }

    очень удивляют предыдущие разрабочтики продукта своими понятиями о потоках в Java

    qnikst, 12 Сентября 2010

    Комментарии (16)
  6. C# / Говнокод #4229

    +118

    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
    SqlCommand command = new SqlCommand ();
    command.Connection = connection;
    command.CommandText = "select data from filestorage where id=@id;";            
    command.Parameters.AddWithValue ("@id", fileId);
    command.CommandType = CommandType.Text;
    
    byte [] data = (byte []) command.ExecuteScalar ();
    
    System.IO.Stream outStream = Response.OutputStream;
    
    Response.ContentType = "Application/octet-stream";
    Response.AppendHeader ("Connection", "keep-alive");
    
    Response.AppendHeader ("Content-Disposition", " attachment; filename = \"" + fName+"\"" );
    
    outStream.Write (data, 0, data.Length);
    Response.End ();

    продолжение http://govnokod.ru/4227

    akai_mirror, 12 Сентября 2010

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

    +150

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    /* That revolting regular expression explained 
    /^(\w+)\[(\w+)([=~\|\^\$\*]?)=?"?([^\]"]*)"?\]$/
      \---/  \---/\-------------/    \-------/
        |      |         |               |
        |      |         |           The value
        |      |    ~,|,^,$,* or =
        |   Attribute 
       Tag
    */

    Это НЕ говонокод, просто коммент к регулярке, просто очень понравился и хотел показать...
    Иногда регулярки очен запутанами бывает, и редактировать их турдно без нормальной комментов.
    Нашел в shop-script

    termes, 10 Сентября 2010

    Комментарии (16)
  8. C++ / Говнокод #4138

    +151

    1. 1
    typedef std::basic_string<unsigned short> wstring;

    вот, надыбал в одном из подпроектов большого проекта.

    DarthBobr, 31 Августа 2010

    Комментарии (16)
  9. C++ / Говнокод #4130

    +164

    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
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    class Cmd
    {
    private:  /* ... */
    protected: /* ... */
    public:
    	virtual void Assign(Cmd *Source) {}
    	/* ... */
    };
    //---------------------------------------------------------------------------
    class UARTCmd: public Cmd
    {
    private: /* ... */
    protected:
    	byte FCode;
    	unsigned short FCRCbytes;
    	int FLenData;
    	byte FData[256];
    	unsigned short FInit_CRC;
    	unsigned short FPoly_CRC;
    
    	TypeCommand TypeCmd;
    public:
    	virtual void Assign(Cmd *Source) { /* .1. */ }
    	/* ... */
    };
    //---------------------------------------------------------------------------
    class TRANSITCmd: public Cmd
    {
    private: /* ... */
    protected:
    	byte FCode;
    	unsigned short FCRCbytes;
    	int FLenData;
    	byte FData[256];
    	unsigned short FInit_CRC;
    	unsigned short FPoly_CRC;
    
    	byte FID;
    
    	unsigned short FNumb;
    public:
    	virtual void Assign(Cmd *Source) { /* .2. */ /* .3. */ }
    	/* ... */
    };
    //---------------------------------------------------------------------------
    class ASKCmd: public Cmd
    {
    private: /* ... */
    protected:
    	byte FCode;
    	unsigned short FCRCbytes;
    	int FLenData;
    	byte FData[256];
    	unsigned short FInit_CRC;
    	unsigned short FPoly_CRC;
    
    	byte FID;
    
    	byte FidFrom;
    	byte FTimeR;
    	unsigned short FSID;
    public:
    	virtual void Assign(Cmd *Source) { /* .2. */ /* .4. */ }
    	/* ... */
    };
    //---------------------------------------------------------------------------
    class RESPCmd: public Cmd
    {
    private: /* ... */
    protected:
    	byte FCode;
    	unsigned short FCRCbytes;
    	int FLenData;
    	byte FData[256];
    	unsigned short FInit_CRC;
    	unsigned short FPoly_CRC;
    
    	byte FID;
    
    	byte FidFrom;
    	byte FTimeR;
    	unsigned short FSID;
    
    	byte FidResp;
    	unsigned short FCRCResp;
    public:
    	virtual void Assign(Cmd *Source) { /* .2. */ /* .4. */ /* .5. */ }
    	/* ... */
    };

    Сие чудо я должен реализовывать! Так сказать, привести в порядок код.

    P.S. Первоначальный вариант выглядит в разы лучше.
    P.P.S. /* .1. */ - обозначает часть кода

    sanchousf, 30 Августа 2010

    Комментарии (16)
  10. PHP / Говнокод #4100

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    $ix=$_POST['danue'];
    
    if(isset($_POST['danue'])){
    
    $reyd="INSERT INTO `NOVOSTI` (`CONNTEKT`) VALUES ('{$ix}')";
    
    $rido=mysql_query($reyd) or die ("no dannuch");
    
    header ('location: index.php');}

    SunnyMagadan, 25 Августа 2010

    Комментарии (16)
  11. Java / Говнокод #4087

    +83

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    [code=java]
    try {
          Folder folder = openFolder();
          processFolder(folder);
        } catch (MessagingException ex) {
          Folder folder = openFolder();
          processFolder(folder);
        }
    [/code]

    Если IMAP временно недоступен -- программа попробует снова. Если со второго раза не получилось -- тогда все.
    Жаль, что попытки всего две, а не восемь. Было бы круто.

    Этот код работал в живом проекте.

    Анонимус, 24 Августа 2010

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