Прошел еще один PHP micro-talks. Регламент был следующий:
- Основная тема - качество кода.
- Второстепенная тема - Ижевский PHP meetup #3.
- И еще несколько новостей за последнюю неделю.
Итак, поехали!
- Качество кода
- Старое, но довольно и интересное, а в некоторых моментах спорное видео на тему качества кода: Extremely Defensive PHP - Marco Pivetta - PHPSW: Coding Practices, June 2015
- Эта же презентация в слайдах. Расшифровку приводить не буду, ибо, во-первых, слайдов — 115, а во-вторых, полезнее просмотреть презентацию.
- Из его презентации услышал понятие Object Calisthenics — это упражнения в улучшении качества кода по средством 9 простых правил:
- Only One Level Of Indentation Per Method
- Don’t Use The ELSE Keyword
- Wrap All Primitives And Strings
- First Class Collections
- One Dot Per Line
- Don’t Abbreviate
- Keep All Entities Small
- No Classes With More Than Two Instance Variables
- No Getters/Setters/Properties
- Предлагаю всем попрактиковаться в Object Calisthenics на каком-нибудь файле в проекте над которым вы сейчас работаете. А более подробно про это можно узнать:
- На слайдах Make your code great again with the Object Calisthenics от Maxence POUTORD.
- В выпуске подкаста Object Calisthenics от William Durand.
- Или просто из статьи Improving code quality with Object Calisthenics от Diego Mariani.
- Прошел Izhevsk PHP meetup #3. Посетить данное мероприятие было интересно. Вот о чем рассказывали:
- На первый доклад я опоздал, но суть его была в том что порой интересно и полезно покопаться в исходниках PHP, в частности, рассказывалось как устроен zval, как хранятся переменный и как работает присваивание по ссылке в PHP 5 и PHP 7. Презентация.
- Второй доклад был от моего коллеги и рассказывал он про Selenium. Главный посыл заключается в том, что функциональное тестирование в браузере — это полезно и круто! Видео. Презентация.
- Последний доклад был про ProtoBuf. Пожалуй, наиболее технически глубокий доклад. Я бы сказал, то для кругозора про Protocol Buffers стоит знать, но применять его стоит далеко не всегда. Хотя бы потому, что сжатие данных он дает не такое уж и большое, если данные текстовые, а вот отлаживать его будет сложно. Наверное больше он подойдет для игр или каких-либо научных задач, где много математики и нужно гонять много числовых данных по сети. Видео. Презентация.
- Ну и несколько последних новостей:
- Меня поразило, что Apple еще только представила свой новый iPhone, а уже проталкивает новый CSS функционал для поддержки этого безобразия с нашлёпкой на экране. Подробнее в статье Designing Websites for iPhone X.
- А тем временем в Chrome для Android добавили Web Share API. Мне кажется уже давно стоило стандартизировать все эти лайки и шеры на уровне браузера.
- В продолжение темы Wordpress и React с прошлой недели — Facebook таки одумался и вернул React'у нормальную MIT лицензию. Ну и кроме того, вышел React 16 с обновленной документацией, улучшенной обработкой ошибок, улучшенным SSR, уменьшенным размером и полностью переписанной внутренней архитектурой.
- Новость от коллеги по поводу выхода Firefox Quantum: Developer Edition. Обещают, что он быстрее и ест меньше памяти, чем Chrome, а также говорят что в нем есть крутые инструменты для разработчиков.
- И еще одна новость (которую я забыл озвучить на micro-talks) — Facebook будет развивать HHVM ориентированно только на поддержку языка Hack, который не будет совместим с PHP в долгосрочной перспективе.
Предыдущий дайджест: Микро-толки — дайджест #1
Следующий дайджест: Микро-толки — дайджест #3