php Именование переменных/методов/классов -- как правильно называть переменные

Возможно следующее соглашение (помимо общих правил оформления кода):

  1. Используем CamelCase (почти всегда, исключения см. ниже)
  2. Не экономим на длине названия -- главное чтобы оно было понятным (время набора на клавиатуре обычно куда меньше, чем время вспоминания и ответа на вопрос "что делает этот код???")
  3. Называем переменные/функции/методы на английском языке (не транслитом). Например,
    $shopCashiersCount = 8;

    Почему?

    • потому, что вы можете работать и в межнациональном коллективе, и шансов понять ваш "русский английский" у коллег будет мало
    • так договорились, чтобы не было путаницы: ты просто смотришь на код, и не думаешь, так его прочитать или по-другому, не примеряешь разные варианты, а просто читаешь
  4. Имена переменных хранящих простые типы и массивы (но не объекты) начинаем с маленькой буквы, по возможности соблюдая правила английского языка.

    Например если у вас есть переменной означающая число хороших студентов, то следует писать как-то так:

    $goodStudentsCount = 135;

    или:

    $countOfGoodStudents = 135;

    (оба варианта допустимы, верны в смысле грамматики, но первый короче).

  5. Классы и их объекты называем в CamelCase с большой буквы. Например:
    class GoodPlanet
    {
      // ......
    }

    А при создании экзпляра (объекта):

    $Planet1 = new  GoodPlanet();

    -- то есть переменную, в которй будет храниться объект тоже называем с большой буквы.

  6. Имена методов классов (да и отдельных функции) рекомендуется начинаться с глагола + писать название с маленькой буквы, например:
    class GoodPlanet
    {
        public function getName()
        {
             return "Земля";
        }
    }

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

  7. Если вы редактируете какую-то библиотеку написанную с именованием в стиле under_score (обычно это не ООП стиль) -- можете продолжить использовать его в этом файле/группе файлов. Но в новых проектах рекомендуется использовать CamelCase.