XXX4Fans
Програмысли from boosty
Програмысли

boosty


Задача на миллион рублей

Я тут увидел задачу на позицию PHP программиста с зарплатой в миллион рублей и решил показать возможный вариант решения, который будет достаточно гибким и легко реализуется, у меня ушло всего 46 минут на решение правда я вчера вечером уже обдумал вариант и сегодня оставался только кодинг. 

Задача на миллион рублей

Чуть лучше вместо функций использовать классы:
private static $paramTypes = [
 "?d" => new NumberParam(),
  "?f" => new FloatParam(),
]
Каждый из этих классов должен иметь метод Process, который будет делать то же самое, что и одноименная функция, которую я использовал в видео. 
public function nextParam($paramType) {
  $obj = new StringParam();
  $inc = 0;
  if (array_key_exists($paramType, self::$paramTypes)) {
     $obj = self::$paramTypes[$paramType];     
     $inc = 1;
   }
   return [$obj.Process($this->args[$this->currentIndex++]), $inc];
}
С точки зрения паттернов я думаю классы заценят больше. 
Если будете подаваться, поменяйте имена переменных, сделайте через классы, добавьте интерфейс IParamParser, чтобы два человека не отправили одно и то же. 


Related Creators