[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Можно ли так писать профессиональный код
Страницы: 1, 2, 3
stump
Приемлем ли такой фрагмент кода например в SaaS системе за 300К USD:

            
$id = Create::create('auth', array(
'email' => "'".$form['login']."'",
'password' => "'".$form['password']."'",
'hash' => "'".md5($form['login'].$form['password'])."'",
'blocked' => 0
));


_____________
Трус не играет в хокей
T1grOK
Create::create
<_<

_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
stump
Цитата (T1grOK @ 22.01.2015 - 16:31)
Create::create
<_<

Ну да! У класса Create есть функция create. Это проблема? Отдельно интересно мнение по определению массива в параметре функции.

_____________
Трус не играет в хокей
McLotos
По-моему как раз в части массива всё норм.
А вот Create::create это жесть. И если мне не изменяет память, то метод класса, у которого имя совпадает с именем класса автоматически становится его конструктором

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
sergeiss
Цитата (stump @ 22.01.2015 - 16:27)
'email' => "'".$form['login']."'",

Какой смысл добавлять тут кавычки, а также и в других строках?

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Zzepish
McLotos
а вот тут интересный же вопрос: метод же статический, видимо
stump
Цитата (sergeiss @ 22.01.2015 - 17:11)
Цитата (stump @ 22.01.2015 - 16:27)
'email' => "'".$form['login']."'",

Какой смысл добавлять тут кавычки, а также и в других строках?

Этот массив есть параметры и значения insert запроса. Чтобы при формировании запроса кавычки были на своих местах я их добавляю сразу.

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

Сейчас популярны самые разные генераторы которые генерируют то массивы, то запросы, то все подряд генерируют. На фоне всех возможных генераторов такой на ревью у сеньора как будет смотреться?

_____________
Трус не играет в хокей
Hello
Цитата (stump @ 22.01.2015 - 15:37)
Цитата (T1grOK @ 22.01.2015 - 16:31)
Create::create
<_<

Ну да! У класса Create есть функция create. Это проблема? Отдельно интересно мнение по определению массива в параметре функции.

Да, это проблема.
Другого программиста эта конструкция заставит заглянуть в 2 места, чтобы понять что такое Create, и как работает метод.
Order::create или Issue::create сразу дает понять что создается.

_____________
VPS от 5$, первые 2 месяца - бесплатно.
Michael
выглядит не особо...
По старому как то, да и где mysql_real_escape_string? Ксли уж автоматизировать то кавычки можно автоматом подставлять если аргумент строковый, а не так некрасиво как ты.

Есть уже PDO, там не надо самому в ручную подставлять.

p.s. А ник мне твой нравится, самокритично.

_____________
There never was a struggle in the soul of a good man that was not hard
Invis1ble
Без контекста сложно что-то сказать, кроме уже замеченной проблемы с именованием.
Навскидку, соль в хэше плохая.

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Guest
Cлёту
class User
{
const BLOCKED = 0;
const ACTIVE = 1;

/**
*
@var array
*/

protected $properties = array();

/**
*
@param string $login
*
@param string $password
*/

public function create($login, $password)
{
$fields = array(
'email' => $login,
'password' => $password,
'hash' => $this->getHash($login, $password),
'blocked' => self::ACTIVE
);

// Добавление в БД и наполнение объекта свойствами
}

/**
*
@param string $login
*
@param string $password
*
@return string
*/

private function getHash($login, $password)
{
return md5($login . $password);
}
}


$user = new User();
$user->create($form['login'], $form['password']);
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.