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

    В номинации:
    За время:
  2. Куча / Говнокод #18796

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    .selection-href {
      height: inherit !important;
      font-size: 1em !important;
      font-weight: inherit !important;
      box-sizing: inherit !important;
      width: inherit !important;
      text-transform: none !important;
    }

    BeatC, 01 Октября 2015

    Комментарии (11)
  3. Куча / Говнокод #18795

    +1

    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
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    {header}
    
    <p style="font-weight: bold; text-decoration: underline">{$orgName}</p>
    
    <p style="font-weight: bold">Адреса: {$orgBillingAddress}, тел.: {$orgPhone}</p>
    
    <div style="font-weight: bold; text-align: center">Зразок заповенння платіжного доручення</div>
    
    <table border="1" cellpadding="2">
    <tr>
      <td width="140">ЄДРПО {$orgInn}</td><td width="140">ІДПРС {$orgKpp}</td><td rowspan="2" width="50"><br/><br/>Рахунок. №</td><td rowspan="2" width="200"><br/><br/>{$orgBankAccount}</td>
    </tr>
    <tr>
    <td colspan="2" width="280"><span style="font-size: 8pt">Одержувач</span><br/>{$orgName}</td>
    </tr>
    <tr>
    <td colspan="2" rowspan="2" width="280"><span style="font-size: 8pt">Банк отримувача</span><br/>{$orgBankName}</td>
    <td width="50">БІК</td>
    <td rowspan="2" width="200">{$orgBankId}<br/>{$orgCorrAccount}</td>
    </tr>
    <tr>
    <td width="50">Рахунок. №</td>
    </tr>
    </table>
    <br/>
    <h1 style="text-align: center">Рахунок № {$invoice_no} від {$invoice_invoicedate}</h1>
    <br/><br/>
    <table border="0">
    <tr>
    <td width="100">Платник:</td><td width="450"><span style="font-weight: bold">{$account_accountname}</span></td>
    </tr>
    <tr>
    <td width="100">Одержувач:</td><td width="450"><span style="font-weight: bold">{$orgName}</span></td>
    </tr>
    </table>
    
    {/header}
    
    {table_head}
    <table border="1" style="font-size: 8pt" cellpadding="2">
        <tr style="text-align: center; font-weight: bold">
    	<td width="30">№</td>
          <td width="260">Назва<br/>товару</td>
          <td width="65">Одиниця<br/>вимір-<br/>рювання</td>
          <td width="35">Кіль-<br/>кість</td>
    	<td width="70">Ціна</td>
    	<td width="70">Сумма</td>
    	</tr>
    {/table_head}
    
    {table_row}
        <tr>
    	<td width="30">{$productNumber}</td>
          <td width="260">{$productName} {$productComment}</td>
    	<td width="65" style="text-align: center">{$productUnits}</td>
    	<td width="35" style="text-align: right">{$productQuantityInt}</td>
    	<td width="70" style="text-align: right">{$productPrice}</td>
    	<td width="70" style="text-align: right">{$productNetTotal}</td>
        </tr>
    {/table_row}
    
    {summary}
    </table>
    <table border="0" style="font-size: 8pt;font-weight: bold">
        <tr>
          <td width="460">
            <table border="0" cellpadding="2">
              <tr><td width="460" style="text-align: right">Разом:</td></tr>
              <tr><td width="460" style="text-align: right">Сумма ПРД:</td></tr>
              <tr><td width="460" style="text-align: right">Всього до сплати:</td></tr>
            </table>
          </td>
          <td width="70">
            <table border="1" cellpadding="2">
              <tr><td width="70" style="text-align: right">{$summaryNetTotal}</td></tr>
              <tr><td width="70" style="text-align: right">{$summaryTax}</td></tr>
              <tr><td width="70" style="text-align: right">{$summaryGrandTotal}</td></tr>
            </table>
          </td>
      </tr>
    </table>
    
    <p>
    Всього найменувань {$summaryTotalItems}, на сумму {$summaryGrandTotal} грн.<br/>
    <span style="font-weight: bold">{$summaryGrandTotalLiteral}</span>
    </p>
    
    {/summary}
    
    {ending}
    <br/>
        <p>Крівник підприємства  __________________ ( {$orgDirector} ) <br/>
        <br/>
        Головний бухгалтер  __________________ ( {$orgBookkeeper} )
        </p>
    {/ending}

    генератор пдф

    igorko, 01 Октября 2015

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

    +1

    1. 1
    TBufferedFileInput storage(sprintf("%s", path));

    Весьма оригинальный способ приведения типа к самому себе.

    skyhawk, 30 Сентября 2015

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

    +1

    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 UnionDocumentJournalController : BaseDocumentJournalController
    <UnionDocumentJournalFilterViewModel, UnionDocumentJournalEntityViewModel, UnionDocumentJournalDataViewModel,
     UnionDocumentDataProvider, UnionDocumentDataManager, UnionLegalEntityDocumentsJournalViewModelMapper>
     {  }
    
    public class UnionDocumentJournalFilterViewModel : BaseJournalFilterViewModel<UnionDocumentJournalEntityViewModel>
    {
    ...
    }
    
    public class UnionDocumentJournalEntityViewModel : LegalEntityDocumentJournalEntityViewModel
    {
    ...
    }
    
    public class UnionDocumentJournalDataViewModel : BaseJournalDataViewModel<UnionDocumentJournalEntityViewModel>
     {  }
    
    public class UnionDocumentDataManager :
     DocumentDataManager
     <UnionDocumentDataProvider, UnionDocumentJournalFilterViewModel, UnionDocumentJournalEntityViewModel>
     {
    ...
    }
    
    public class UnionLegalEntityDocumentsJournalViewModelMapper :
     LegalEntityDocumentsJournalViewModelMapper<UnionDocumentJournalEntityViewModel, UnionDocumentJournalDataViewModel>
     {
    ...
    }

    Горе от ума

    banderror, 30 Сентября 2015

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

    +1

    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
    Главный хтмл файл:
    <div id="load-script" style="display:none">
        $(document).ready(function() {
            $('.social-needs-container__slider-container').slick({
                slidesToShow: 3,
                slidesToScroll:1,
               ...
            });
        });
    </div>
    Директива:
    link: function link($scope, iElement) {
        	Api.get({
    	      ...
    	    }).$promise.then(function(data) {
        		$scope.getContentUrl = function() {
                         var template = 'http://localhost:1337/app/js/modules/core/templates/projects/types/';
    	              ...
        		      return template;
                      }
                     ...
                     var init = angular.element("#load-script");
                     var code = init.text();
                     init.remove();
                     var f = new Function(code);
           	         $timeout(f, 350);
                    ...
    	 });
    },

    Суть в том, что нужно динамически подключать темплейт по урлу, попутно инициализировав сторонний плагин (slick slider).
    Переписовать код слайдера под уже готовую slick-директиву видимо было лень.

    dimashirokov, 29 Сентября 2015

    Комментарии (0)
  7. JavaScript / Говнокод #18776

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function windowSize(){
        if (jQuery(window).width() <= '995'){
            var pdiv = jQuery('#fw_c > div:nth-child(5) > div > div > div.vc_row.wpb_row.vc_inner.vc_row-fluid > div:nth-child(2)').parent('#fw_c > div:nth-child(5) > div > div > div.vc_row.wpb_row.vc_inner.vc_row-fluid > div:nth-child(2)');
            pdiv.insertAfter(pdiv.next());
        } 
    }

    Верстаем адаптивно

    http://ru.stackoverflow.com/questions/454209/

    xaja, 28 Сентября 2015

    Комментарии (8)
  8. JavaScript / Говнокод #18773

    +1

    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
    function cashBonusCalculator(currentDepositValue, el) {
        var $scope = el;
    
        if (!currentDepositValue) {
            currentDepositValue = 0;
        }
        var max_bonus_01 = $scope.find('[name="progr_step_01_max"]'),
            max_bonus_02 = $scope.find('[name="progr_step_02_max"]'),
            max_bonus_03 = $scope.find('[name="progr_step_03_max"]'),
            bonus_start_01 = $scope.find('[name="progr_step_01_start"]'),
            bonus_start_02 = $scope.find('[name="progr_step_02_start"]'),
            bonus_start_03 = $scope.find('[name="progr_step_03_start"]'),
            bonus_amount_01 = $scope.find('[name="progr_step_01_amount"]'),
            bonus_amount_02 = $scope.find('[name="progr_step_02_amount"]'),
            bonus_amount_03 = $scope.find('[name="progr_step_03_amount"]');
    
            if (cash_bonuses_list[0]) {
                max_bonus_01.text('max ' + cash_bonuses_list[0].maxbonus.toMonetaryString());
                bonus_start_01.text(cash_bonuses_list[0].f.toMonetaryString());
                bonus_amount_01.text(cash_bonuses_list[0].bonus + '%');
                main_gift_conditions.text('x' + cash_bonuses_list[0].wager + ' ' + wagerType +'; ' + cash_bonuses_list[0].ttl + _('h'));
                gift_progress.addClass('cash_gift_progress_level_01');
            }
            if (cash_bonuses_list[1]) {
                max_bonus_02.text('max ' + cash_bonuses_list[1].maxbonus.toMonetaryString());
                bonus_start_02.text(cash_bonuses_list[1].f.toMonetaryString());
                bonus_amount_02.text(cash_bonuses_list[1].bonus + '%');
                main_gift_conditions.text('x' + cash_bonuses_list[1].wager + ' ' + wagerType + '; ' + cash_bonuses_list[1].ttl + _('h'));
                gift_progress.addClass('cash_gift_progress_level_02');
            }
            if (cash_bonuses_list[2]) {
                max_bonus_03.text('max ' + cash_bonuses_list[2].maxbonus.toMonetaryString());
                bonus_start_03.text(cash_bonuses_list[2].f.toMonetaryString());
                bonus_amount_03.text(cash_bonuses_list[2].bonus + '%');
                main_gift_conditions.text('x' + cash_bonuses_list[2].wager + ' ' + wagerType + '; ' + cash_bonuses_list[2].ttl + _('h'));
                gift_progress.addClass('cash_gift_progress_level_03');
            }
    
            if (window.CASHBONUSES && window.CASHBONUSES.length > 0) {
                var progressSteps = 3;
                if (cash_bonuses_list[0]) {
                    progressSteps = 1;
                }
                if (cash_bonuses_list[1]) {
                    progressSteps = 2;
                }
                if (cash_bonuses_list[2]) {
                    progressSteps = 3;
                }
    
                if (cash_bonuses_list[0] && currentDepositValue <= cash_bonuses_list[0].t && currentDepositValue >= cash_bonuses_list[0].f) {
                    $scope.find('[name="cash_gift_progressbar"]').css({
                        width: (((main_progress_width / progressSteps) * ( (currentDepositValue - cash_bonuses_list[0].f) / (((cash_bonuses_list[0].t - cash_bonuses_list[0].f) / 100)) * 0.01))) + 'px'
                    });
                    main_gift_amount.text(cash_bonuses_list[0].c + ' ' + currentBonusSumm(cash_bonuses_list[0].bonus, cash_bonuses_list[0].maxbonus, fromCashDepositValue));
                } else if (!cash_bonuses_list[1] && cash_bonuses_list[0] && currentDepositValue > cash_bonuses_list[0].t && currentDepositValue >= cash_bonuses_list[0].f){
                    $scope.find('[name="cash_gift_progressbar"]').css({
                        width: '100%'
                    });
                    main_gift_amount.text(cash_bonuses_list[0].c + ' ' + currentBonusSumm(cash_bonuses_list[0].bonus, cash_bonuses_list[0].maxbonus, fromCashDepositValue));
                } else if (cash_bonuses_list[1] && currentDepositValue <= cash_bonuses_list[1].t && currentDepositValue >= cash_bonuses_list[1].f) {
                    $scope.find('[name="cash_gift_progressbar"]').css({
                        width: (((main_progress_width / progressSteps) * ( (currentDepositValue - cash_bonuses_list[1].f) / (((cash_bonuses_list[1].t - cash_bonuses_list[1].f) / 100)) * 0.01)) + (main_progress_width / progressSteps)) + 'px'
                    });
                    main_gift_amount.text(cash_bonuses_list[1].c + ' ' + currentBonusSumm(cash_bonuses_list[1].bonus, cash_bonuses_list[1].maxbonus, fromCashDepositValue));
                } else if (!cash_bonuses_list[2] && cash_bonuses_list[1] && currentDepositValue > cash_bonuses_list[1].t && currentDepositValue >= cash_bonuses_list[1].f){
                    $scope.find('[name="cash_gift_progressbar"]').css({
                        width: '100%'
                    });
                    main_gift_amount.text(cash_bonuses_list[1].c + ' ' + currentBonusSumm(cash_bonuses_list[1].bonus, cash_bonuses_list[1].maxbonus, fromCashDepositValue));
                } else if (cash_bonuses_list[2] && currentDepositValue <= cash_bonuses_list[2].maxbonus && currentDepositValue >= cash_bonuses_list[2].f){
                    $scope.find('[name="cash_gift_progressbar"]').css({
                        width: (((main_progress_width / progressSteps) * ( (currentDepositValue - cash_bonuses_list[2].f) / (((cash_bonuses_list[2].maxbonus - cash_bonuses_list[2].f) / 100)) * 0.01)) + ((main_progress_width / progressSteps) * 2)) + 'px'
                    });

    ambt, 28 Сентября 2015

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    private function check($data) {
    	$result = $this->checkData($data);
    	if ($result === true) return true;
    	$sm = new SystemMessage();
    	return $sm->message($result);
    }
    protected function checkData($data) {
    	return false;
    }

    С видеокурса Михаила Русакова

    REMOX, 27 Сентября 2015

    Комментарии (2)
  10. C++ / Говнокод #18765

    +1

    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
    import std.io;
    import std.string;
    import calendar.month;
    
    module calendar.date;
    
    namespace Chrono
    {
        export
        struct Date {
            Date(int, Month, int);
            int day() const
            {
                return d;
            }
            Month month() const
            {
                return m;
            }
            Int year() const
            {
                return y;
            }
        private:
            int d;
            Month m;
            int y;
        };
        export
        std::ostream &operator<<(std::ostream &, const Date &);
        export
        std::string to_string(const Date &);
    }

    По мотивам: http://habrahabr.ru/company/infopulse/blog/267781/
    зы. https://github.com/isocpp/CppCoreGuidelines/blob/master/talks/Large-Scale-C%2B%2B-With-Modules.pdf

    CriDos, 27 Сентября 2015

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

    +1

    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
    class DBUSLIB_EXPORT DBusLib : public QObject
    {
        Q_OBJECT
    public:
        DBusLib(QObject* parent = 0);
        void requestId(const QString &req, const int &reqTimeOut);
    
        QByteArray replyData;
        QString name;
        MyPair reqStruct;  // id, partsCount
        QVector<QByteArray> vecFile;
        int partsCount; //кол-во частей
        int parts; //кол-во пришедших
        QTimer *timer = new QTimer(this);
    
    signals:
        void doneSignal(QByteArray& fileData);
    
    public slots:
        void requestMap(const MyPair &dbm);
        void partsFile(const MyPair &part);
        void requestFail(const QDBusError& error);
        void timeIsOver();
    
    };

    Студент принес говна. Паблик морозов, ценные комментарии и все такое.
    Вот только мне любопытна 14 строчка. C++11 не включен.
    Конпелятор mingw492 выбрасывает ворнинг
    D:\projects\test_dbus\client_v2\client_l ib\dbuslib.h:35: предупреждение: non-static data member initializers only available with -std=c++11 or -std=gnu++11
    QTimer *timer = new QTimer(this);
    ^
    Но при этом все компилится и работает. Значит, 03 стандарт разрешает такое?

    scp, 17 Сентября 2015

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