1. C++ / Говнокод #27561

    +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
    QSqlQuery& SQLConnect::get()
    {
        if ( makeConnection() ) {
            query = QSqlQuery(mDb);
            return query;
        }
        QSqlQuery empty;
        return empty;
    }
    
    bool SQLConnect::makeConnection()
    {
       mDb = SQLConnectPool::Instance().get();
       return true;
    }

    Раньше компилилось и не замечал, а тут на новом компиляторе начал кидать ошибки и решил посмотреть, что же там напроектировали

    Запостил: avk17, 14 Августа 2021

    Комментарии (12) RSS

    • Просто код вредителей, так сразу и не поймешь, что тут вообще происходит.
      Ответить
      • Ну и что же тут происходит?

        Это, кстати, случайно, не новая разработка «РНР++»?
        Ответить
        • очевидно, что здесь происходит
          QSqlQuery& SQLConnect::get()
          {
          mDb = SQLConnectPool::Instance().get();
          query = QSqlQuery(mDb);
          return query;
          }
          вместо всего написанного, а дальше не разбирался пока
          Ответить
          • Оно ещё и друг друга вызывает, какой уроборос )))
            Ответить
    • это то что заслуживают с++ девелоперы
      Ответить
    • никакого понимания дела - все нужно было завернуть в std::unique_ptr и везде напихать std::move() вот тогда было бы по людски
      Ответить
    • > QSqlQuery empty;
      > return empty;

      Это такая попытка победить мув семантику или RVO или что?

      Вообще зачем так много кода, который ничего не делает. PHPшник писал?
      Ответить
      • > который ничего не делает
        > PHPшник писал?

        Возможно, вы имели в виду «жавашок»?
        Ответить
        • ПХПшников бывает два вида

          * пхпшник-ротоёб: он такой код не пишет действительно
          * пхпшник-каргокультовец. Он импортировал из яжи именно такой код
          https://github.com/tschoffelen/db.php/blob/master/src/Database.php

          https://github.com/bsadnu/php-exceptions/blob/master/src/Interfaces/InfrastructureExceptionInterface.php

          https://github.com/crazycodr/standard-exceptions/blob/master/Exceptions/Http/HttpException.php

          https://github.com/filp/whoops/blob/master/src/Whoops/Run.php
          Ответить
          • Ты забыл самый интересный реальный пример:
            https://github.com/Herzult/SimplePHPEasyPlus

            use SimplePHPEasyPlus\Number\NumberCollection;
            use SimplePHPEasyPlus\Number\SimpleNumber;
            use SimplePHPEasyPlus\Number\CollectionItemNumberProxy;
            use SimplePHPEasyPlus\Parser\SimpleNumberStringParser;
            use SimplePHPEasyPlus\Iterator\CallbackIterator;
            use SimplePHPEasyPlus\Operator\AdditionOperator;
            use SimplePHPEasyPlus\Operation\ArithmeticOperation;
            use SimplePHPEasyPlus\Operation\OperationStream;
            use SimplePHPEasyPlus\Engine;
            use SimplePHPEasyPlus\Calcul\Calcul;
            use SimplePHPEasyPlus\Calcul\CalculRunner;
            
            
            $numberCollection = new NumberCollection();
            
            $numberParser = new SimpleNumberStringParser();
            
            $firstParsedNumber = $numberParser->parse('1');
            $firstNumber = new SimpleNumber($firstParsedNumber);
            $firstNumberProxy = new CollectionItemNumberProxy($firstNumber);
            
            $numberCollection->add($firstNumberProxy);
            
            $secondParsedNumber = $numberParser->parse('1');
            $secondNumber = new SimpleNumber($secondParsedNumber);
            $secondNumberProxy = new CollectionItemNumberProxy($secondNumber);
            
            $numberCollection->add($secondNumberProxy);
            
            $addition = new AdditionOperator('SimplePHPEasyPlus\Number\SimpleNumber');
            
            $operation = new ArithmeticOperation($addition);
            
            $engine = new Engine($operation);
            
            $calcul = new Calcul($engine, $numberCollection);
            
            $runner = new CalculRunner();
            
            $runner->run($calcul);
            
            $result = $calcul->getResult();
            $numericResult = $result->getValue(); // 2
            Ответить
    • https://www.youtube.com/channel/UChbHeEGkYqM2b1HdAhf4y1g

      Я с нуля стал программистом в 44 года. За полгода самостоятельно развился от "Hello world" до Full-stack веб-приложения на Django, DRF, и Vue JS. Мне казалось что я с возрастом тупею и торможу :) Но программирование показало что это совсем не так. Это лучшее занятие - и как хобби и как профессия и как профилактика деменции :)) Деды, го кодить!!
      Ответить
      • Я стал ласкать их. У них, был свой вкус. Не такой, как у Наташкиных, и не такой, как у других женщин, а особый, только ей принадлежащий, волшебный вкус.
        Ответить

    Добавить комментарий