1. JavaScript / Говнокод #18737

    +2

    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
    function coolSplit(str, pattern) {
      var result = [];
      while(1){
        var m = str.match(pattern);
        if(!m) {
          if(str) result.push(str);
          return result;
        }
        if(m.index) result.push(str.substr(0, m.index));
        result.push(str.substr(m.index, m[0].length));
        str = str.substr(m.index + m[0].length);
      }
    }

    Из шифроскрипта. https://github.com/1024--/govnokod.ru-userscripts/commit/898e6195b9799853b08a01834ce55f8d780757f3#diff-40cd32e1559d395399816968845cb034R151

    coolSplit(str, /expr/) ≡ str.split(/(expr)/) // Говнокод обучающий

    1024--, 18 Сентября 2015

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

    +2

    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
    string[] array=new string[10];
    array[0] = "?";
    array[1] = "?";
    array[2] = "?";
    array[3] = "?";
    array[4] = "?";
    array[5] = "?";
    array[6] = "?";
    array[7] = "?";
    array[8] = "?";
    
    ....
    
    if (DS.Tables[0].Rows[i][3].ToString() == "1")
    {
    checkBox20.Checked = true;
    }
    if (DS.Tables[0].Rows[i][4].ToString() == "1")
    {
    checkBox23.Checked = true;
    }
    if (DS.Tables[0].Rows[i][5].ToString() == "1")
    {
    checkBox22.Checked = true;
    }
    if (DS.Tables[0].Rows[i][6].ToString() == "1")
    {
    checkBox25.Checked = true;
    }
    if (DS.Tables[0].Rows[i][7].ToString() == "1")
    {
    checkBox24.Checked = true;
    }
    if (DS.Tables[0].Rows[i][8].ToString() == "1")
    {
    checkBox27.Checked = true;
    }
    if (DS.Tables[0].Rows[i][9].ToString() == "1")
    {
    checkBox11.Checked = true;
    }
    
    ...
    
    if (checkBox17.Checked)
    {
    array[0] = "application/";
    }
    if (checkBox18.Checked)
    {
    array[1] = "audio/";
    }
    if (checkBox21.Checked)
    {
    array[2] = "example/";
    }
    if (checkBox20.Checked)
    {
    array[3] = "image/";
    }
    if (checkBox23.Checked)
    {
    array[4] = "message/";
    }
    if (checkBox22.Checked)
    {
    array[5] = "model/";
    }
    if (checkBox25.Checked)
    {
    array[6] = "multipart/";
    }
    if (checkBox24.Checked)
    {
    array[7] = "text/";
    }
    if (checkBox27.Checked)

    Дали на рецензию одну научную работу...

    sgerman, 18 Сентября 2015

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

    +3

    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
    public SomeLongNameSpace.PolicyPremiumReturnType ProcessPremiums(
                        int userID, 
                        int divisionID, 
                        string ObjectCode, 
                        int iPolicyID, 
                        int iBulkEndorsementID, 
                        System.Data.DataTable dtClientPremiums, 
                        System.Data.DataTable dtClientPremiumInterests, 
                        System.Data.DataTable dtRiskCommissions, 
                        System.Data.DataTable dtBrokerages, 
                        System.Data.DataTable dtDiscounts, 
                        System.Data.DataTable dtApportionments, 
                        System.Data.DataTable dtUWGroups, 
                        System.Data.DataTable dtUWGroupSettings, 
                        System.Data.DataTable dtUWGroupPremiums, 
                        System.Data.DataTable dtRiskDeclarations, 
                        System.Data.DataTable dtRiskDeclarationsInterests, 
                        int clientPaymentIntervalDays, 
                        int uwDefaultPaymentIntervalDays, 
                        int uwPaymentIntervalDays, 
                        System.Data.DataTable dtSchedulesLimitDetails, 
                        XII.Integration.GlobalXB.v1_4.PolicyGL.CommissionProcessingFlags commissionProcessingFlags, 
                        bool isOverrideWarranties, 
                        string transactionDescription, 
                        string TechnicalContactName, 
                        bool isCreateDeclarationWithoutInterests, 
                        int clientRPPaymentIntervalDays,
                        System.Data.DataTable deferredPayments)
            {
                return base.Channel.ProcessPremiums(userID, divisionID, ObjectCode, iPolicyID, iBulkEndorsementID, dtClientPremiums, dtClientPremiumInterests, dtRiskCommissions, dtBrokerages, dtDiscounts, dtApportionments, dtUWGroups, dtUWGroupSettings, dtUWGroupPremiums, dtRiskDeclarations, dtRiskDeclarationsInterests, clientPaymentIntervalDays, uwDefaultPaymentIntervalDays, uwPaymentIntervalDays, dtSchedulesLimitDetails, commissionProcessingFlags, isOverrideWarranties, transactionDescription, TechnicalContactName, isCreateDeclarationWithoutInterests, clientRPPaymentIntervalDays, deferredPayments);
            }

    few params

    g10829780, 18 Сентября 2015

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

    −1

    1. 1
    continueSaving(item, item);

    В node.js 3 вызова функции continueSaving, первый объект новый, второй старый из бд, в самой функции проверяется наличие старого объекта и если есть то он используется, в остальных вызовах все нормально.

    styopdev, 18 Сентября 2015

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

    +3

    1. 1
    $imageBinding['isHidden'] = $image->isHidden() === true ? true : false;

    bit0rez, 18 Сентября 2015

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

    +7

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    editfobjectobject($fobject_id,$fobject_object_id,
    $object_type_id,$fobject_status_id,$all_sq,
    $live_sq,$kitchen_sq,$floor,$balcony_id,
    $su_id,$windows_id,$repair_id,
    $number,$plain,$tplains,
    $fcomment,$cost,$all_cost,
    $manager_id,$delplain,$dic_room_type_id,
    $dic_gazplit_id,$dic_phone_id,
    $dic_window_type_id,$dic_pstate_id,$dic_dfloor_id,
    $dic_internet_id,$dic_park_id,$dic_secur_id,
    $dic_door_id,$dic_lift_id,$full_cost,$is_torg,$task_shema_id);

    а до конца самой функции я тогда даже недоскроллил)

    dehrom, 18 Сентября 2015

    Комментарии (0)
  7. 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)
  8. PHP / Говнокод #18729

    +2

    1. 1
    https://github.com/imarketua/dump

    Поработал на одном проекте, не оплатили. Предыстория там же, в ридми. Код знатный, подходит по тематике данного сайта, смотрим по ссылке)

    HiNeX, 16 Сентября 2015

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

    +11

    1. 1
    2. 2
    3. 3
    4. 4
    for ($i = 0; $i < 11; $i++) {
        if ($i < 5) continue;
        //остальной код
    }

    первые 5 не нужны

    kropotor, 16 Сентября 2015

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

    +2

    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
    class Order_OrderProcessorBuilder
    {
        /**
         * @param $processorName
         * @return Order_Abstract_OrderAbstract
         */
        private static function createOrderProcessor($processorName)
        {
            $processorClassName = 'Order_Types_'.ucfirst($processorName);
            return new $processorClassName;
        }
    
        /**
         * @param $builderName
         * @param Order_Abstract_OrderAbstract $orderProcessor
         * @return Order_Abstract_BuilderAbstract
         */
        private static function createOrderBuilder($builderName, Order_Abstract_OrderAbstract $orderProcessor)
        {
            $builderClassName = 'Order_Builders_'.ucfirst($builderName);
            return new $builderClassName($orderProcessor);
        }
    
        /**
         * @param Order_Abstract_BuilderAbstract $orderBuilder
         * @return Order_Director
         */
        private static function createDirectorClass(Order_Abstract_BuilderAbstract $orderBuilder)
        {
            return new Order_Director($orderBuilder);
        }
    
        /**
         * @param $orderTypeName
         * @return Order_Abstract_OrderAbstract
         */
        public static function build($orderTypeName)
        {
            /** @var Order_Abstract_OrderAbstract $orderProcessor */
            $orderProcessor = self::createOrderProcessor($orderTypeName);
            /** @var Order_Abstract_BuilderAbstract $orderBuilder */
            $orderBuilder = self::createOrderBuilder($orderTypeName, $orderProcessor);
            $director = self::createDirectorClass($orderBuilder);
    
            $director->construct();
            return $orderBuilder->getResult();
        }
    }

    Вот такая у нас есть прослойка, которая работает с паттероном "строитель", честно говоря недавно понял зачем она нужна, не знаю.. Как вам решение? Код не мой

    proweber1, 16 Сентября 2015

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