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

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

    +93

    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
    package java.util.logging;
    public class XMLFormatter extends Formatter 
    {
        // Append a two digit number.
        private void a2(StringBuffer sb, int x) {
    	if (x < 10) {
    	    sb.append('0');
    	}
    	sb.append(x);
        }
        // Append the time and date in ISO 8601 format
        private void appendISO8601(StringBuffer sb, long millis) {
    	Date date = new Date(millis);
    	sb.append(date.getYear() + 1900);
    	sb.append('-');
    	a2(sb, date.getMonth() + 1);
    	sb.append('-');
    	a2(sb, date.getDate());
    	sb.append('T');
    	a2(sb, date.getHours());
    	sb.append(':');
    	a2(sb, date.getMinutes());
    	sb.append(':');
    	a2(sb, date.getSeconds());
        }
        private void escape(StringBuffer sb, String text) {
    	if (text == null) {
    	    text = "<null>";
    	}
    	for (int i = 0; i < text.length(); i++) {
    	    char ch = text.charAt(i);
    	    if (ch == '<') {
    		sb.append("<");
    	    } else if (ch == '>') {
    		sb.append(">");
    	    } else if (ch == '&') {
    		sb.append("&");
    	    } else {
    		sb.append(ch);
    	    }
    	}
        }
        public String format(LogRecord record) {
    	StringBuffer sb = new StringBuffer(500);
    	sb.append("<record>\n");
    
    	sb.append("  <date>");
    	appendISO8601(sb, record.getMillis());
    	sb.append("</date>\n");
    
    	sb.append("  <millis>");
    	sb.append(record.getMillis());
    	sb.append("</millis>\n");
    
    	sb.append("  <sequence>");
    	sb.append(record.getSequenceNumber());
    	sb.append("</sequence>\n");
    
    	String name = record.getLoggerName();
    	if (name != null) {
    	    sb.append("  <logger>");
    	    escape(sb, name);
    	    sb.append("</logger>\n");
    	}
    
    	sb.append("  <level>"); 
    	escape(sb, record.getLevel().toString());
    	sb.append("</level>\n");
    
    	if (record.getSourceClassName() != null) {
    	    sb.append("  <class>");
    	    escape(sb, record.getSourceClassName());
    	    sb.append("</class>\n");
    	}
    
    	if (record.getSourceMethodName() != null) {
    	    sb.append("  <method>");
    	    escape(sb, record.getSourceMethodName());
    	    sb.append("</method>\n");
    	}
    
    	sb.append("  <thread>");
    	sb.append(record.getThreadID());
    	sb.append("</thread>\n");
     ....

    Я конечно всё понимаю, неоднократно были ситуации когда для скорости сам собирал xml руками.
    Но тут и вовсе такое ощущение будто школьник писал.
    http://kickjava.com/src/java/util/logging/XMLFormatter.java.htm

    3.14159265, 15 Октября 2012

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

    −121

    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
    Функция СоздатьЗапрос(Текст) Экспорт
    	Запрос = Новый Запрос;
    	Запрос.Текст=Текст;
    	Возврат Запрос;
    КонецФункции
    Функция СоздатьМассив() Экспорт
    	Возврат Новый Массив;
    КонецФункции
    Функция СоздатьСоответствие() Экспорт
    	Возврат Новый Соответствие;
    КонецФункции
    Функция СоздатьСтруктуру() Экспорт
    	Возврат Новый Структура;
    КонецФункции
    Функция СоздатьСписокЗначений() Экспорт
    	Возврат Новый СписокЗначений;
    КонецФункции

    Вот такие вот функции (это естественно не все) от OLE-мастера: NewObject - не, не слышал.

    ilya2184, 10 Октября 2012

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

    −117

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    ВЫБОР
        КОГДА ПродажиОбороты.Регистратор.Товары.СерияНоменклатуры.СрокГодности ЕСТЬ NULL 
                ИЛИ ПродажиОбороты.Регистратор.Товары.СерияНоменклатуры.СрокГодности < ДАТАВРЕМЯ(2000, 1, 1)
    
           ТОГДА ПродажиОбороты.Регистратор.Товары.Ссылка.Дата МЕЖДУ НАЧАЛОПЕРИОДА(Регистр1.ДатаНачала, ДЕНЬ) И КОНЕЦПЕРИОДА(Регистр1.ДатаОкончания, ДЕНЬ)
       ИНАЧЕ ПродажиОбороты.Регистратор.Товары.СерияНоменклатуры.СрокГодности МЕЖДУ НАЧАЛОПЕРИОДА(Регистр1.ДатаНачала, ДЕНЬ) И КОНЕЦПЕРИОДА(Регистр1.ДатаОкончания, ДЕНЬ)
    КОНЕЦ

    dmurdoc, 08 Октября 2012

    Комментарии (6)
  5. Си / Говнокод #11842

    +141

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    #include "statements.h"
    #include "lexer.h"
    #include "conditions.h"
    #include "variables.h"
    #include "generator.h"
    #include "labels.h"
    #include "types.h"
    #include "errors.h"
    #include "io.h"

    В одном из cpp-файлов такой вот нехилый список инклудов.

    Fai, 27 Сентября 2012

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

    +40

    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
    Function DateDiff ($interval,$date1,$date2)
    {
        // получает количество секунд между двумя датами 
        $timedifference = $date2 - $date1;
    
        switch ($interval) {
            case 'w':
                $retval = bcdiv($timedifference,604800);
                break;
            case 'd':
                $retval = bcdiv($timedifference,86400);
                break;
            case 'h':
                $retval =bcdiv($timedifference,3600);
                break
            case 'n':
                $retval = bcdiv($timedifference,60);
                break;
            case 's':
                $retval = $timedifference;
                break;
                
        }
        return $retval;
    
    }

    Не моё, где-то на просторах интернета обнаружил.

    varg242, 18 Сентября 2012

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

    −105

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if [ `which which` ]; then
      ...
    else
      ...
    fi

    gongled, 14 Сентября 2012

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

    +29

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    string input;
    string output;
     
    input = "C:\\bla.txt\\";          //"Bla.txt" is the file to copy
    output = "C:\\test\\";            //"Test" is the folder to copy to
     
    system("copy input.c_str() output.c_str()")

    http://cboard.cprogramming.com/cplusplus-programming/109047-help-copy-files-cplusplus.html

    an0nym, 10 Сентября 2012

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

    +134

    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
    public void Open()
            {
                _session.OpenSession();
    
                _log = new LogOperations(_session.CurrentSession);
                if (!_session.DBIsExists)
                {
                    var dictList = new List<string> 
                    {
                    #region Добавление всех текстовых ресурсов в список для записи в словарь базы
                        Resources.AllChannelsSelected,
                        Resources.ArchiveClearDone,
                        Resources.ARMShotdown,
                        Resources.BWConnected,
                        Resources.BWConnecting,
                        Resources.BWSelected,
                        Resources.BWServerName,
                        Resources.Cannot_create_0fly,
                        Resources.Cannot_create_1fly,
                        Resources.Cannot_delete_0fly,
                        Resources.Cannot_delete_1fly,
                        Resources.CannotDeleteImage,
                        Resources.CannotDeleteVideo,
                        Resources.CannotSaveImage,
                        Resources.ColorConnected,
                        Resources.ColorConnecting,
                        Resources.ColorSelected,
                        Resources.ColorServerName,
                        Resources.CoolingBreak,
                        Resources.CreateClientError,
                        Resources.FreeSpace20,
                        Resources.FreeSpace5,
                        Resources.ImageSend,
                        Resources.ImageSendASTK,
                        Resources.MainForm_OPUConnect,
                        Resources.MainForm_RecordStart,
                        Resources.MainForm_RecordStop,
                        Resources.OPUAngle,
                        Resources.OPUConnected,
                        Resources.OPUDisconnected,
                        Resources.OPUSavePoint,
                        Resources.OPUScanning,
                        Resources.OPUScanningNotChangedSet,
                        Resources.OPUWatching,
                        Resources.PanoNotExists,
                        Resources.Panorama_Processing,
                        Resources.Panorama_StreamError,
                        Resources.Panorama_Success,
                        Resources.PresetPointRewrite,
                        Resources.PresetPointSaved,
                        Resources.ReadDataError,
                        Resources.Restart,
                        Resources.RestartFailed,
                        Resources.SaveImage,
                        Resources.ScanSetRewrite,
                        Resources.ScanSetSave,
                        Resources.StartRecord,
                        Resources.StopRecord,
                        Resources.ThermalConnected,
                        Resources.ThermalConnecting,
                        Resources.ThermalCoolingTime,
                        Resources.ThermalOFF,
                        Resources.ThermalON,
                        Resources.ThermalReady,
                        Resources.ThermalSelected,
                        Resources.ThermalServerName,
                        Resources.ThermalWork,
                        Resources.UnknowError,
                        Resources.UnknowError2,
                        Resources.UserTypeCommander,
                        Resources.UserTypeDefault,
                        Resources.UserTypeOperator,
                        Resources.UserTypeSystemPreferences,
                        Resources.VideoArchivePlayText,
                        Resources.VideoSend,
                        Resources.VideoSendASTK
                    #endregion
                    };
                    _log.CreateDictionary(dictList);
                }
            }

    Метод, создающий словарь бд из ресурсов проекта

    Flyperformances, 06 Сентября 2012

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

    −99

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    // WTF is 8.5? Oo I will never, ever hardcode some random values.
    	linkStatusImage.frame = CGRectMake (5, height / 2 - 8.5, 17, 17);
    	descriptionLabel.frame = CGRectMake (27, 5, width - 32 - rightMargin, 20);
    	authorLabel.frame = CGRectMake (27, 30, width - 32 - rightMargin, 20);
    	addressLabel.frame = CGRectMake (27, 55, width - 32 - rightMargin, height - 60);
    	separatorImage.frame = CGRectMake (0, height - 2, separatorImage.image.size.width, 2);
    	favButton.frame = CGRectMake (width - 22, height / 2 - 8.5, 17, 16);

    byss, 23 Августа 2012

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

    +56

    1. 1
    2. 2
    3. 3
    4. 4
    $data = $this->db->qp($q=(($type == 1 && $this->auth->demo == 0) ? '(SELECT Favorite_Name as s, CONCAT(oname,\'|\',House,\'|\',Enter) as s2, Id as id, \'1\' as t, null as m, IF(LEFT(LOWER(TRIM(Favorite_Name)), '.$c.')=\''.$sword.'\', 0, IF(LEFT(LOWER(TRIM(oname)), '.$c.')=\''.$sword.'\', 1, 2)) as od, \'1\' as t2 FROM :Cabinet_Favorite_Objects: WHERE Client_Phone=\'7'.$this->auth->phone.'\' && (lower(Favorite_Name) LIKE \'%'.$sword.'%\' || lower(oname) LIKE \'%'.$sword.'%\') ORDER BY od ASC, Favorite_Name'.$lim.')
    		UNION ALL
    		(SELECT addr as s, \'1\' as s2, id as id, \'2\' as t, null as m, IF(LEFT(LOWER(TRIM(addr)), '.$c.')=\''.$sword.'\', 0, 1) as od, \'2\' as t2 FROM :cabinet_history_objects: WHERE cid=\''.$this->auth->adata['IDClient'].'\' && lower(addr) LIKE \'%'.$sword.'%\' ORDER BY od ASC, num, addr DESC'.$lim.')
    		' : '').(($type == 1 && $this->auth->demo == 0 && $c > 0) ? ' UNION ALL ' : '').(($c > 0) ? '(SELECT objectName as s, objectMetaType as s2, objectID as id, \'3\' as t, objectAddress as m, IF(LEFT(LOWER(TRIM(SearchField)), '.$c.')=\''.$sword.'\', 0, 1) as od, IF(objectMetaType=\'0\', 3, IF(objectMetaType=\'100\', 4, 5)) as t2 FROM :Cabinet_Objects: WHERE lower(SearchField) LIKE \'%'.$sword.'%\' ORDER BY od ASC, objectMetaType ASC, s ASC'.$lim.')' : ''), '', 'select');

    Получение списка доступных адресов для заказа такси.

    blessed, 21 Августа 2012

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