Задать вопрос

Как логично и структурно именовать переменные?

Добрый день, коллеги.
Вопрос в целом касается не только PHP, но всё же...
Подскажите, более опытные коллеги, как вы именуете переменные? По какому принципу или алгоритму?
В черновом скрипте в 200й строке я вместо $homepage_product_name пытаюсь обратиться к $product_name_home и т.д.
Чем конкретней я именую переменную, тем больше вариаций в голове по мере роста количества строк в документе...

Может кто-то поделится своей схемой именования? Желательно с описанием...
Спасибо!
  • Вопрос задан
  • 623 просмотра
Подписаться 3 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 5
dollar
@dollar
Делай добро и бросай его в воду.
В английском языке существительные в начале превращаются в прилагательные, а в конце - существительное, к которому они относятся.
Сравните: "stone wall" (каменная стена) и "wall stone" (камень из стены).

То есть первым делом нужно определиться с главным существительным, то есть ЧТО имеется в виду. Если это имя, то название переменной должно оканчиваться на _name (или Name в зависимости от стиля).

Далее, если не придираться к правилам, то последовательность прилагательных лучше делать так: чем важнее, тем ближе к существительному.
Шаг первый: product_name
Шаг второй: homepage_product_name (при этом вам должно быть очевидно, что не home_page)

Далее, ничего лишнего быть не должно, и должно максимально точно отражать суть. Например, настройка, говорящая о том, что уведомления можно посылать только если приложение неактивно.
Не правильно: notify_if_inactive (вообще не понятно, не логично)
Правильно: is_notify_if_inactive_only
Приставка is_ в данном случае является соглашением в нашей команде, указывающем, что это булева переменная, можно также юзать b_ например для той же цели. Или, скажем, если это константа или меняется очень редко, можно записать капсом или добавить приставку c_

Вообще дальше уже начинаются тонкости и вкусовщина. Основные принципы изложены выше - это четкий порядок построения и соответствие сути.
Ответ написан
Комментировать
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Подскажите, более опытные коллеги, как вы именуете переменные?

Максимально близко к естественному языку. А так же желательно с учетом рекомендаций к стандартам именований принятых в конкретном яп, $homepage_product_name == > $nameOfProductOnHomepage, хотя зачем там хоумпэйдж и чем отличается от не на хоумпэйдж - загадка.
Ответ написан
Я стараюсь делать по такому принципу - $модуль_функция_свойство
Ответ написан
Stalker_RED
@Stalker_RED
https://m.habr.com/ru/post/437122/
Статей вроде этой - десятки.
homepage_product_name

Не совсем понятен смысл. на других страницах у этого-же товара другое имя?
Ответ написан
Комментировать
@klunker
Наименования делай какие хочешь, главное чтоб понятно было. А уже как использовать длинные наименования, так используй нормальные IDE с автокомплитом(плюс паттерн MVC). А вообще городить своей огород не нужно в документации почитай про стандарты PSR-0, PSR-1, PSR-4
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы