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

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

    +173

    1. 1
    $i = $i++;

    инкремент от бога

    Serious_Andy, 12 Сентября 2013

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

    +157

    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
    public function getIcon()
        {
            switch($this->name)
            {
                case 'Пятигорск':
                    return 'inn_pyatigorsk';
                    break;
                case 'Южная':
                    return 'inn_uzhnaya';
                    break;
                case 'Кавказ':
                    return 'inn_kavkaz';
                    break;
            }
        }
    
    
        public function getBlockId()
        {
            switch($this->name)
            {
                case 'Пятигорск':
                    return 'pyatigorsk';
                    break;
                case 'Южная':
                    return 'uzhnaya';
                    break;
                case 'Кавказ':
                    return 'kavkaz';
                    break;
            }
        }
    
    
    
        public function getImageBlockId()
        {
            switch($this->name)
            {
                case 'Пятигорск':
                    return 'box-pyatigorsk';
                    break;
                case 'Южная':
                    return 'box-uzhnaya';
                    break;
                case 'Кавказ':
                    return 'box-kavkaz';
                    break;
            }
        }
    
    
    
        public function getSliderId()
        {
            switch($this->name)
            {
                case 'Пятигорск':
                    return 'slider_pyatigorsk';
                    break;
                case 'Южная':
                    return 'slider_uzhnaya';
                    break;
                case 'Кавказ':
                    return 'slider_kavkaz';
                    break;
            }
        }
        
        
    
        public function getBooKId()
        {
            $result = '';
            switch($this->name)
            {
                case 'Пятигорск':
                    $result = 'book_pyatigorsk';
                    break;
                case 'Южная':
                    $result = 'book_uzhnaya';
                    break;
                case 'Кавказ':
                    $result = 'book_kavkaz';
                    break;
            }
            return $result;
        }

    рефакторинг "по Украински"

    oxser, 19 Августа 2013

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

    +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
    var preg_match = function(pattern, subject) {
        var result;                                     // Result data
        
        var request = $.ajax({                          // Send request
            type:       "POST",
            url:        "/api/regexp.php",
            async:      false,
            // dataType:   "json",
            data:       {p: pattern, s: subject}
        });
    
        request.done(function(data){                    // Case no errors occured
    
            result = data;
    
        });
    
        return (result == 1) ? true : false;
    }

    Валидация полей формы через регулярные вырежения на сервере

    lynx1983, 01 Августа 2013

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

    +69

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    SOAPMessage msg = ctx.getMessage();
    
    //msg.writeTo(System.out);
    
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    msg.writeTo(baos);
    logger.trace(baos);

    где у хвалёного log4j метод для передачи его как аргументом java.io.OutputStream???

    defecate-plusplus, 26 Июля 2013

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

    +120

    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
    if (IsSetPrinter)
                            {
                                if (Counter == 0)
                                {
                                    printingIsOkay = PrintDocument(letterIDsString
                                   , row.DocumentTemplateVersionID
                                   , row.DocumentTemplate
                                   , (row.IsHeader_DocumentTemplateVersionIDNull() ? (int?)null : row.Header_DocumentTemplateVersionID)
                                   , (row.IsFooter_DocumentTemplateVersionIDNull() ? (int?)null : row.Footer_DocumentTemplateVersionID)
                                   , true
                                   , Counter
                                   , Counter == documentTemplateVersions.Count - 1);
                                }
                                else
                                {
                                    printingIsOkay = PrintDocument(letterIDsString
                                  , row.DocumentTemplateVersionID
                                  , row.DocumentTemplate
                                  , (row.IsHeader_DocumentTemplateVersionIDNull() ? (int?)null : row.Header_DocumentTemplateVersionID)
                                  , (row.IsFooter_DocumentTemplateVersionIDNull() ? (int?)null : row.Footer_DocumentTemplateVersionID)
                                  , false
                                  , Counter
                                  , Counter == documentTemplateVersions.Count - 1);
                                }
    
                            }
                            else
                            {
                                printingIsOkay = PrintDocument(letterIDsString
                                   , row.DocumentTemplateVersionID
                                   , row.DocumentTemplate
                                   , (row.IsHeader_DocumentTemplateVersionIDNull() ? (int?)null : row.Header_DocumentTemplateVersionID)
                                   , (row.IsFooter_DocumentTemplateVersionIDNull() ? (int?)null : row.Footer_DocumentTemplateVersionID)
                                   , false
                                   , Counter
                                   , Counter == documentTemplateVersions.Count - 1);
                            }

    Я бы выложил весь класс. Он весь такой. Но, думаю, вы поняли кто писал?

    kore_sar, 23 Июля 2013

    Комментарии (26)
  7. C++ / Говнокод #13347

    +14

    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
    template<class Key,class T,class H=Hash<Key>,
        class EQ=equal_to<Key>,class A=allocator<pair<const Key,T> > >
    class hash_map
    {
    public:
        //как map за исключением
        typedef H Hasher;
        typedef EQ key_equal;
        typedef size_t size_type;//из функции Hash видно что size_t нужно, а не int
        typedef Key key_type;
        typedef T mopped_type;
        //делаем объявление
        struct Entry;
        typedef T* iterator;
        typedef const Entry* const_iterator;
        typedef pair<iterator,iterator> equal_r;
    //...
     vector<map<key_type,mopped_type> *> v1;

    Тормозил std::unordered_map. Написал свой.

    LispGovno, 09 Июля 2013

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

    +143

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    function handle($handler) {
        //...
        ob_start();
        include("./handlers/$handler.php");
        $result = ob_get_contents();
        ob_end_clean();
        return $result;
    }

    Требуется результат работы внешнего скрипта вывести посреди работы внутреннего. Есть ли варианты без голимой буферизации выходного потока?

    vistefan, 03 Июля 2013

    Комментарии (26)
  9. Pascal / Говнокод #13215

    +107

    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
    function FindPathInPath(path1: string; path2: string): Boolean;
    var
      lst: TStringlist;
      i, l: integer;
    begin
      lst := TStringlist.Create;
      // ----------------------------------------------
      path1 := stringreplaceall(path1, '/', '\');
      path1 := stringreplaceall(path1, '\\', '\');
      // ----------------------------------------------
       path2 := stringreplaceall(path2, '\', '');
       path2 := stringreplaceall(path2, '/', '');
       path2 := stringreplaceall(path2, '"', '');
       path2 := stringreplaceall(path2, '<', '');
       path2 := stringreplaceall(path2, '>', '');
       path2 := stringreplaceall(path2, '?', '');
       path2 := stringreplaceall(path2, '|', '');
       path2 := stringreplaceall(path2, ':', '');
       path2 := stringreplaceall(path2, '*', '');
      // ----------------------------------------------
      for i := 2 to CountString(path1, '\') + 1 do
      begin
        lst.Add(StringField(path1, '\', i));
      end;
      for l := 0 to lst.Count - 1 do
      begin
        if lstrcmpi(pchar(lst[l]), pchar(path2)) = 0 then
        begin
          FindPathInPath := True;
          break;
      end;
      end;
      lst.Free;
      FindPathInPath := false;
      exit;
    end;

    Функция для поиска названий подпапок в файловых путях.
    Трудно судить г..нокод ли это, но так как я все же использовал более изящное решение, то быть посему...

    Stertor, 23 Июня 2013

    Комментарии (26)
  10. 1C / Говнокод #13089

    −160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Ученик 1С спросил у своего учителя: что означает аббревиатура "Один Эс"?
    Учитель долго думал и наконец ответил ему:
    - "Один" - это когда солнечный день и воняет из трубы, это "Один"
    А "Эс", что такое "Эс", - спросил ученик
    - "Эс" - это когда солнечный день и опять же воняет из трубы

    Если бы у 1С были коаны, они выглядели бы примерно так.
    По мотивам к/ф "Моцарт" 2006

    serpinski, 02 Июня 2013

    Комментарии (26)
  11. C# / Говнокод #13042

    +139

    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
    if (sLastChange.StartsWith("ERROR") && sLastChange != "ERROR_EXPOPR")
     {
       logClass.LogStd("========== DATABAZE RS WITH ELSE EXPOPR ERROR: " + sLastChange, MethodBase.GetCurrentMethod());
     }
     else
     {
       SqlCommand oCommand = oConToCom.CreateCommand();
       oCommand.CommandText = configClass.GetAppConfig(oXml, "ToDB_SqlSelectChangeDestinationAfter");
       string sDateLast = oCommand.ExecuteScalar().ToString();
    
       if (oConFrom.State != ConnectionState.Closed) { try { oConFrom.Close(); } catch { } }
        oConFrom.Open();
        oComDateFrom.CommandText = configClass.GetAppConfig(oXml, "ToDB_SqlSelectChangeSource");
        string sDateFrom = oComDateFrom.ExecuteScalar().ToString();
        if (oConFrom.State != ConnectionState.Closed) { try { oConFrom.Close(); } catch { } }
    
        if (sDateLast == sDateFrom)
        {
           logClass.LogStd("========== DATABAZE EXPOPR WITHOUT CHANGE", MethodBase.GetCurrentMethod());
        }

    устроился на новую работу, все вокруг с кучей сертификатов

    taburetka, 23 Мая 2013

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