1. PHP / Говнокод #19178

    0

    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
    public function callCost($fromCity, $fromStreet, $fromHouse, $fromHousing, $fromBuilding, $fromPorch, $fromLat, $fromLon, $toCity, $toStreet, $toHouse, $toHousing, $toBuilding, $toPorch, $toLat, $toLon, $clientName, $phone, $priorTime, $customCarId, $customCar, $carType, $carGroupId, $tariffGroupId, $comment, $additional = '')
        {
            if ($json = $this->reqCache->getValue($fromLat . $fromLon . $toLat . $toLon . $phone . $priorTime . $tariffGroupId . $comment . $additional)) {
                $data = json_decode($json);
                return $data;
            } else {
    			$tariffGroupId = $this->findTariffOnCarType($carType);
    			$additional = explode(';', $additional);
    			$route = new TaxiRouteAnalyzer($this->dbHost, $this->database, $this->dbLogin, $this->dbPass);
    			$this->writeLog($tariffGroupId);
    			$data = $route->analyzeRoute(1, $fromCity, $fromStreet, $fromHouse, $fromHousing, $fromLat, $fromLon, $toCity, $toStreet, $toHouse, $toHousing, $toLat, $toLon, $additional, $tariffGroupId, $this->isDay(), 1);
                $res = json_encode($data);
                $this->reqCache->setValue($fromLat . $fromLon . $toLat . $toLon . $phone . $priorTime . $tariffGroupId . $comment . $additional, $res, $this->cacheTime);
    			return $data; 
            }
        }

    человеку доверили сделать кэширование данных...

    Запостил: akanit, 14 Декабря 2015

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

    • тот случай, когда кэш оказался медленнее прямого исполнения...
      Ответить
      • в CUDA была очень медленная глобальная память и мало кеша, поэтому в большинстве случаев кешировать что-то было гораздо медленнее, чем пересчитать заново несколько раз
        Ответить
    • Дак тут, по хорошему, с первой строки не прошел собеседование\испытательный.

      public function callCost($fromCity, $fromStreet, $fromHouse, $fromHousing, $fromBuilding, $fromPorch, $fromLat, $fromLon, $toCity, $toStreet, $toHouse, $toHousing, $toBuilding, $toPorch, $toLat, $toLon, $clientName, $phone, $priorTime, $customCarId, $customCar, $carType, $carGroupId, $tariffGroupId, $comment, $additional = '');
      26 аргументов. 26!
      Ответить
      • > $fromCity, $fromStreet, $fromHouse, ...
        > 26 аргументов. 26!
        И правда позорище. Автор элементарного не знает. Алфавита не знает. У него ровно 26 аргументов, а он...
        Ответить

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