Как стать автором
Обновить
21
0
Михаил @seniorkrok

Пользователь

Отправить сообщение

Что делать с плохим кодом

Время на прочтение3 мин
Количество просмотров36K
Вот мой скромный совет о том, как, по моему мнению, людям следует поступать с плохим кодом. Этот совет не имеет ничего общего с техникой; строго говоря, это даже и не совет, а просто мои недавние размышления.

Обычно, первое, что человек делает, встретив плохой код — ищет виноватого. Это сразу становится личной или племенной вендеттой:
«Как можно быть таким идиотом?»
«Кто виноват в том, что мой мозг взорвался от всей этой бессвязности и богохульства?»
«Кто оскорбляет <Название Компании>!?»

Это неправильно. Не надо начинать с этого. Прежде, чем найти беднягу-автора кода и обрушить на него свой гнев, лучше поймите сам код.
Подробности
Всего голосов 111: ↑75 и ↓36+39
Комментарии165

В PHP 5.5 будет функция array_column

Время на прочтение2 мин
Количество просмотров25K
19-го марта было объявлено о «feature freeze» в ветке PHP 5.5, в преддверии выхода 21-го марта php-5.5.0beta1. В числе других, в эту версию включена новая функция для работы с массивами под названием array_column.

Упоминание об этой функции промелькнуло на Хабре прошлым летом, но тогда она имела статус proposed, теперь же она, определенно, войдет в PHP 5.5.

Итак, что же это за функция?
Всего голосов 94: ↑64 и ↓30+34
Комментарии49

О тонкостях работы foreach в PHP

Время на прочтение9 мин
Количество просмотров60K
В недавнем дайджесте интересных ссылок о PHP я обнаружил ссылку на комментарий Никиты Попова на StackOverflow, где он подробно рассказывает о механизме «под капотом» управляющей конструкции foreach.
Поскольку foreach действительно иногда работает более, чем странным образом, я счел полезным сделать перевод этого ответа.


Внимание: этот текст подразумевает наличие базовых знаний о функциональности zval'ов в PHP, в частности вы должны знать что такое refcount и is_ref.
foreach работает с сущностями разных типов: с массивами, с простыми объектами (где перечисляются доступные свойства) и с Traversable-объектами (вернее, объектами, у которых определен внутренний обработчик get_iterator). Здесь мы, в основном, говорим о массивах, но я скажу и об остальных в самом конце.

Прежде чем приступить, пара слов о массивах и их обходе, важная для понимания контекста.

Как работает обход массивов
Всего голосов 86: ↑74 и ↓12+62
Комментарии56

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Зарегистрирован
Активность