PHP: хорошие практики. Наименования и экспрессивность.

preview_player
Показать описание
Хорошие практики из мира программирования для повседневной работы.

Буду рад поддержке: лайк, комментарий (адекватная критика тоже приветствуется), денюжка - все мотивирует в плюс.
Рекомендации по теме
Комментарии
Автор

Насчет применения DRY к названиям интерфейсов я бы поспорил:

Да, идешка отмечает интерфесы значком, но, ведь, мы интерфейсы делаем не для значков.
Да, в полном пути к интерфейсу однажды встретиться либо Interface, либо Api, либо еще что-то, исходя из чего мы точно можем понять, что это интерфейс, но: мы почти всегда используем сущность через импорт (use)

Где мы используем указание типа сущности:
- типизация
- обращение к статичным полям (константы)
И там и там делать это через полные пути - это смертоубийство

Также существует практика, когда в папку, скажем, Api выносятся интерфейсы, которые мы как бы позволяем использовать другим вендорам. Таким образом мы как бы говорим, что этот интерфейс скорее всего не поменяется, а если и поменяется - то это будет постепенно через аннотацию @deprecated. В то время как интерфейсы для классов внутреннего использования обычно кладутся рядом с самими классами в том же неймспейсе.
И тут возникает две проблемы:
- два файла с одним именем рядом существовать не могут
- в случае разнесения интерфейса и имплементации по разным папкам - мы всё еще будем сталкиваться с тем, что интерфейс и имплементация называются одинаково. А это значит, что внутри имплементации обращаться к интерфейсу нам придется либо по полному пути, либо через алиас use as, что, как бы, тоже лишняя работа.

Касательно эксепшенов:
Глядя на InvalidArgumentException я точно знаю, что это эксепшен. Глядя на InvalidArgument - я скорее предположу, что это какой-то класс, который как-то обрабатывает не валидный аргумент. Да, идешка имеет отдельный значок для эксепшенов, но мы же в коде смотрим не на значки...

alexeydorosh
Автор

Очень хороший канал. Отличная подача, актуальные вопросы рассматриваются. Я подобного тут не видел. Спасибо))

ydnqubx
Автор

Ваууууу, это супер материал! Очень понравилось видео. Сам сейчас на php работаю. Хочется улучшить качество своего кода. С вами, думаю, это получится)

ProgramEnginer
Автор

С интерфейсом - это спорное утверждение, такая подпись нужна, чтобы увидеть от чего наследуем. Как и с приватными свойствами $_private - чтобы визуально облегчить жизнь.

ruslanm.
Автор

Мой первый коммент за 20лет своей жизни xD;
Вам бы стрим еще вести с такой подачей, очень лаконично и просто;
p/s Стрим с донатом ;)

nice
Автор

Спасибо большое!!! Очень круто объясняешь, а главное, показываешь наглядно! Это прям мега круто!!!😊

zhurov
Автор

Очень лаконично, внятно, понятно ... Короче очень классное видео! Нужно больше видео! )

QwerTy-jnex
Автор

Классный канал! Посмотрел десяток видео подряд и все пролайкал. Респект Вам, Андрей!

Dmitriy-webdev
Автор

Довольно спорный и дискуссионный момент насчет суффиксов Interface, Exception и прочих. К сожалению, тут нету серебренной пули и в итоге все договариваются как писать для конкретного проекта

Vi-wvxc
Автор

Лучший просто, ну почему ты не снимаешь ещё видео?

bwtbcfr
Автор

Андрей, продолжай снимать видео! Буду очень благодарен! И думаю не один я.

INONEI
Автор

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

mrfriz
Автор

Материал годный, спасибо
Но вот насчет $i в цикле FOR не вполне согласен
Когда я вижу такую переменную в цикле, я однозначно понимаю что это числовой индекс массива, никаких других ассоциаций не возникает

oleksandr_mykhailov
Автор

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

statdotastaff
Автор

Отличные видосы. Андрей, очень хорошо преподносишь информацию.
Меня особо интересует разные варианты рефакторинга. Как красиво переформатировать многоуровневые if или switch и тому подобные задачки.
Был бы рад видеть на канале подобные уроки.
Мне кажется на русском ютубе очень не хватает таких роликов.
А то всё про то как на laravel сделать блог за час.

yuqvihq
Автор

Было бы интересно посмотреть как из массивов сделать коллекции

zojvfvd
Автор

Здравствуйте. Interface в конце добавляют те кто следуют PSR Naming Conventions. Это хорошая практика если вы в принципе следуете PSR

Denis-xwom
Автор

Спасибо. Дорвался до своих старых проектов?)))

MrJarkheld
Автор

$i - наше всё ) Иногда нужно просто перебрать массив, и проще привычную $i или $k или $key, в качестве индекса массива. А использовать $i для координат - это уже очень плохо и непонятно, уж лучше именно там взять название переменной. Если индекс несет смысловую нагрузку, то, конечно, нужна именованная переменная. Когда односимвольные переменные оправданы? -когда используются формулы.

ruslanm.
Автор

Качественный контент. Лайк заслуженный. Однозначное продолжайте. Вопрос по поводу трудоустройства. Нормально ли работодатели смотрят на прием работника не оффициально? Если знания есть, а с документами проблемы из-за политического положения. Возможно ли договориться или сразу гонят?

lhwzhiz