Микро-толки — дайджест #2

Прошел еще один PHP micro-talks. Регламент был следующий:

  1. Основная тема - качество кода.
  2. Второстепенная тема - Ижевский PHP meetup #3.
  3. И еще несколько новостей за последнюю неделю.

Итак, поехали!

  1. Качество кода
    • Старое, но довольно и интересное, а в некоторых моментах спорное видео на тему качества кода: Extremely Defensive PHP - Marco Pivetta - PHPSW: Coding Practices, June 2015
    • Эта же презентация в слайдах. Расшифровку приводить не буду, ибо, во-первых, слайдов — 115, а во-вторых, полезнее просмотреть презентацию.
    • Из его презентации услышал понятие Object Calisthenics — это упражнения в улучшении качества кода по средством 9 простых правил:
      1. Only One Level Of Indentation Per Method
      2. Don’t Use The ELSE Keyword
      3. Wrap All Primitives And Strings
      4. First Class Collections
      5. One Dot Per Line
      6. Don’t Abbreviate
      7. Keep All Entities Small
      8. No Classes With More Than Two Instance Variables
      9. No Getters/Setters/Properties
    • Предлагаю всем попрактиковаться в Object Calisthenics на каком-нибудь файле в проекте над которым вы сейчас работаете. А более подробно про это можно узнать:
  2. Прошел Izhevsk PHP meetup #3. Посетить данное мероприятие было интересно. Вот о чем рассказывали:
    • На первый доклад я опоздал, но суть его была в том что порой интересно и полезно покопаться в исходниках PHP, в частности, рассказывалось как устроен zval, как хранятся переменный и как работает присваивание по ссылке в PHP 5 и PHP 7. Презентация.
    • Второй доклад был от моего коллеги и рассказывал он про Selenium. Главный посыл заключается в том, что функциональное тестирование в браузере — это полезно и круто! Видео. Презентация.
    • Последний доклад был про ProtoBuf. Пожалуй, наиболее технически глубокий доклад. Я бы сказал, то для кругозора про Protocol Buffers стоит знать, но применять его стоит далеко не всегда. Хотя бы потому, что сжатие данных он дает не такое уж и большое, если данные текстовые, а вот отлаживать его будет сложно. Наверное больше он подойдет для игр или каких-либо научных задач, где много математики и нужно гонять много числовых данных по сети. Видео. Презентация.
  3. Ну и несколько последних новостей:
    • Меня поразило, что 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