Pull to refresh
10
0
Грэй Хаунд @maddogg

User

Send message
Я после Homecoming тоже клялся себе не играть в остальные части. Напрасно — игры отменные вышли.
А вы играли в Origins, Shattered Memories и Downpour?
Чем вам не устроил Silent Hill на аутсорсе? Climax и Vatra справились отлично.
Я всё понимаю, но это не бот даже близко. Бот понятия не имеет о ресурсах игры. Если бы вы скармливали приложению саму игру — было бы интереснее.

И да, для игры-сравнения из разряда «чуть под другим углом» это и близко не прокатит.
Мы либо говорим о разных вещах и друг друга не понимаем, либо я не знаю.
Я когда изучал Source SDK, то при создании мода видел тонну исходников и даже ковырял немного.
простите, что значит «всё»? А исходники Source чьего производства я смотрел?
в плане поддержки — условие выносится вообще в отдельный метод/функцию
код просто жесть
сеошная это мода, сеошная
радийщики вам скажут точно — дороже как раз аппаратура и канал (цены автор привел), отчисления — копейки в этом море
Aptana и близко не умеет UnityScript.
Да я бы не сказал, что прям намного дороже. А и с роялти вкусные условые.
;) в старом добром Dungeon Siege тоже только 3 параметра основных, которые прокачиваются.
скорее Фаулера по рефакторингу я прочитал
Много вы DBA знаете в веб-разработке?
Много вы DBA знаете, которые не умеют работать с ORM?
Много ли DBA вы знаете?
Очень примерно:

  1. class Result
  2. {
  3.  private $stmt = null;
  4.  private $result = null;
  5.  public function __construct($min, $max)
  6.  {
  7.      $stmt = $mysqli->stmt_init();
  8.      try {
  9.          $this->prepare();
  10.          $this->bind($min, $max);
  11.          $this->execute();
  12.          $this->attachResult();
  13.          $this->store();
  14.          $this->fetch();
  15.          $this->close();
  16.     } catch (Exception $e) {
  17.      Debug.log('Select Error (' . $stmt->errno . ') ' . $stmt->error);
  18.     }
  19.  }
  20.  
  21.  // подготовливаем запрос, там куда будут вствлятся данные отмечаем символом ? (плейсхолдоры)
  22.  private function prepare()
  23.  {
  24.     $this->stmt->prepare("SELECT title FROM sk2_articles WHERE id > ? and id < ?")
  25.  }
  26.  
  27.  // привязываем переменные к плейсхолдорам
  28.  private function bind($min, $max)
  29.  {
  30.     $this->stmt->bind_param('ii', $min, $max);
  31.  }
  32.  
  33.  // отрправляем даные, которые на данный момент находятся в привязанных переменных
  34.  private function execute()
  35.  {
  36.     $this->stmt->execute();
  37.  } 
  38.  
  39.  // привязывем переменую для получения в нее результата
  40.  private function attachResult()
  41.  {
  42.     $this->stmt->bind_result($this->result);
  43.  }
  44.  
  45.  // делаем запрос буферизированным,
  46.  // если бы этой строки не было, запрос был бы небуферезированым 
  47.  private function store()
  48.  {
  49.     $this->stmt->store_result();
  50.  }
  51.  
  52.  // получение результата в привязанную переменную
  53.  private function fetch()
  54.  {
  55.     $this->stmt->fetch();
  56.  }
  57.  
  58.  private function close()
  59.  {
  60.     $stmt->close();
  61.  }
  62.  
  63.  public function getResult()
  64.  {
  65.     return $this->result;
  66.  }
  67. }
  68.  
  69. $id_min = 81;
  70. $id_max = 88;
  71. $result = new Result($id_min, $id_max);
  72. print $result->getResult();
* This source code was highlighted with Source Code Highlighter.
Цепочка обязанностей
Такое делается именно через этот паттерн.
а это нормальный период. Многие через него проходят и не редко есть идея: «Создать свой фреймворк». Ну или подобное что-то.
Придет время, когда наравне с обычными таблицами будут здоровенные view'хи. Тогда sql вспоминается на раз и узнается о нем много нового. А составлять запросы, когда через ORM это будет быстрее, секурнее и ООП-шнее — не стоит.

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity