PHP: Игра зоркий глаз ревьювера

Предлагаю теперь поиграть со мной и найти ошибки/улучшения в следующих примерах. Если ошибки не видно — посмотрите еще раз и напишите мне комментарий

Пример 1

$cache_title = 'lookup_' . $t . '_' . mb_strtolower($q) 
  . '_' . $location_id . '_' . $location . ($this->is_full_search) ? '_full' : '';

Пример 2

if ($new_pass != $new_pass_repeat 
  || in_array($pass, array($new_pass, $new_pass_repeat)) 
  || mb_strlen($new_pass, 'UTF-8') < 4) {

Пример 3

$query = 'SELECT json_agg(p.*) FROM (
  SELECT id, name, url, friendly
  FROM ' . SITES_TABLE . ' as s
  WHERE s.id<>' . (int)$id . ' AND s.url_host=' . $url . '\' 
  AND s.status IN (' . STATUS_SITE_LIST . ')
  ) AS p
LIMIT 25';
$return['url_clones'] = json_decode(DB::query($query), true);

Пример 4

UPDATE content.sites_contacts AS u 
SET (zip,address,phone,map,fax,fio_org,email_org,description_full)=(NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL) 
WHERE (
  SELECT sub.match FROM (SELECT (content.sites_contacts.*)=(u.*) AS MATCH FROM content.sites
  LEFT JOIN content.sites_contacts ON content.sites_contacts.id_site=content.sites.id 
  WHERE content.sites.id=17217) AS sub
)

Пример 5

$conditions = $conditions ? $conditions : '';
IF (is_array($conditions)) {
	$conditions = '(' . implode(') AND (', $conditions) . ')';
}

Читабельный код — залог успеха

Не важно на каком языке и что Вы пишите — рано или поздно Вам придется любой свой код менять и улучшать. Конечно это при условии что Вы не пишите одноразовые салфетки — тогда да, можно использовать и выкинуть, но выкидывать код клиенту не нужно)

Это примеры нехорошего кода, который нужно искоренять у себя из подкорочки даже.

Продолжить чтение…


Все что нужно знать обо мне и беге

чемпион по бегу

Внезапно мне понравилось бегать, приближалось лето… А если что-то очень хотеть, то возможность появляется сразу: этой возможностью стало внутреннее соревнование нашего клуба по бегу. За три недели нужно было сделать в сумме максимальную дистанцию на беговой дорожке. Можно было бежать час, можно два, можно три, можно больше. Можно было бежать очень быстро, можно было практически ползти. Можно было делать забеги каждый день несколько раз. Можно было пропускать дни.

Я бегаю не очень быстро. Первый свой десяток км за полтора часа я пробежала всего полгода назад (даже меньше!), на осеннем марафоне в рамках командной эстафеты. Я вообще не люблю долго и нудно бегать. Но я «крепко азартный» и мотивированный человек — я делаю все что могу, и чуть больше, и не оставляю сил на дорогу обратно (см. фильм Гаттака, недоцененный шедевр научной фантастики, фильм о возможностях обычного человека в невероятном мире).

Лично моим правилом стало «ни дня без бега» — что дало 21 день пробежек, когда 12 км уже «слабенькая» дистанция, а 30 это ползком и с двумя фильмами… Были ли более сильные бегуны — да, были ли более амбициозные — да, но маленькие свершения каждый день — и я на 20 км впереди ближайшего соперника.

Это все что нужно знать о моем характере и том, что помогает мне быть успешным программистом.


GoogleApi+ Spreadsheet + PHP : Практика маленьких и полезных клиенту скриптов

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

Постановка задачи этого примера: клиент сделал огромную таблицу в гугл-документах, но забыл туда вставить важное поле (и приложил в письме еще большую таблицу со связкой «код товара» — «поле»). Клиенту приятно, мне не долго — все счастливы и веселы.

Продолжить чтение…


Пример магазина с небольшим количеством товаров

магазин_Пример_сайта_на_AngularJS

Для примера и разнообразия решений сделали «шаблон» для небольшого магазина — быстрый, легкий, настраиваемый под конкретного заказчика.
Минимагазин — это небольшое количество товаров с легким интерфейсом.
Не заставляйте сервер тормозить, а покупателя — думать*)