Этот пост точнее было бы назвать как-нибудь вроде «Именование идентификаторов по общепринятым правилам» ибо так будет наиболее точно отражена суть статьи, но уже не важно… Правила программирования, в общем.
Это достаточно скользкая тема т.к. споров по поводу правильного стиля написания кода достаточно много и у каждого программиста своя точка зрения на этот счёт. Тем не менее есть некоторые «инстанции», которые дают советы по, их авторитетному мнению, правильного написания программного кода. В первую очередь это компании и корпорации занимающиеся непосредственно разработкой языков программирования, такие как Oracle (Java), Microsoft (C#, VB, etc) и другие. В их документации есть отдельные главы посвященные именно правильному стилю написания кода.
Понятное дело, что это не очень важно ведь главное, что бы код работал как надо, а остальное это дело последнее. Современные компиляторы таковы, что могут прочесть практически любой код вне зависимости от того как он отформатирован. Поэтому здесь в первую очередь речь идёт именно о человеческой составляющей. О том как проще и быстрее воспринимать написанный код. Это очень важно когда вы работаете в команде.
Естественно, что у каждого отдельного языка программирования есть свои особенности и поэтому правила написания красивого кода тут тоже весьма разнятся. Так же подобные правила могут диктовать и сами работодатели у которых есть корпоративная этика. Ниже я приведу пожалуй самые важные и популярные правила правильного написания программного кода, которые подходят в большинстве случаев ко всем Си подобным языкам программирования: Pascal, Delphi, C, C++, PHP, Java, C#, JavaScript и другие.
В большинстве своём эти правила базируются на официальных рекомендациях от Oracle для языка программирования Java. Как ни странно, по моим наблюдениям, все эти же рекомендации применяются и других языках программирования с Си подобным синтаксисом. Так вот, все материалы доступны на официальном сайте документации по языку Java, на английском разумеется. Там достаточно много информации по этой теме, я же, в этой статье, приведу пожалуй наиболее важные составляющие.
Переменные
Переменные должны назваться понятными именами существительными, состоять из 1-3 слов. Все слова пишутся слитно, каждое следующее слово начинается с большой буквы (верхний регистр). Первая буква в нижним регистре.
Иногда так же внутренние (с модификаторами доступа private и реже так же protected), т.е. сугубо служебные для данного класса, переменные (поля) классов начинаются с префикса нижнего подчёркивания. Т.е. внутренние поля начинаются с подчёркивания, так можно легко отличить их от доступных (public) полей.
В ООП переменные классов называются полями, реже так же свойствами. В более продвинутых ООП языках, таких как Java, поля и свойства это разные вещи. Поля это внутренние переменные, а свойства это интерфейсы доступа к этим полям извне: геттеры и сеттеры.
Константы
Константы состоят полностью из букв верхнего регистра, слова отделяются нижними подчеркиваниями.
Примеры:
$value; strint arrayOfStrings; public int firstVariable;
Функции
Однозначно понятные словосочетания в которых присутствуют глаголы. Пишутся так же как и переменные, слитно с повышением регистра первой буквы каждого нового слова в названии.
Примеры:
function getObject(int variable, string secondVariable) {...} public static void setValue(int value) {...}
Классы
Одно слово относящееся к имени существительному. Первая буква названия класса в верхнем регистре. Если название состоит из двух и более слов, то они так же как и переменные пишутся слитно с повышением регистра первой буквы каждого нового слова.
Примеры:
class FirstProgram {...} public class SomeClass {...} class Some {...};
Интерфейсы
Тоже самое, что и классы, только перед именем (в начале) дописывается большая буква I (от слова interface).
Примеры:
interface ISomeProgram {...}
Делегаты
Делегаты полностью подчиняются правилам именования интерфейсов, поэтому особых предписаний на этот счёт нет. Только вместо буквы I в начале названия делегата пишется символическая D (естественно от слова delegate).
Пространства имён
Одно существительное слово написанное полностью в нижнем регистре.
Всегда пишите только на английском языке (некоторые языки программирования поддерживают unicode в названиях сущностей) и не используйте транслитерацию при этом. Лучше лишний раз загляните в словарь или переводчик.
ООП в целом
Каждый отдельный класс, делегат или интерфейс лучше писать в отдельном физическом файле. Далее все эти файлы просто подключаются в общий проект по мере необходимости. Таким образом файл будет называться по названию класса имеющегося в нём.
PHP конкретно
Лучше пишите постоянные вкропления тегов php в код html чем выводить всю вёрстку через непосредственно php. Вообще всегда надо разделять сущности. Данные, программный код, логика, вёрстка, стили и прочее… Всё должно быть отдельно.
Это так сказать общие универсальные правила именований. Так же забывайте, что каждый шаг (stepment) должен писаться на новой строке. Не пренебрегайте форматированием кода (горизонтальным смещением по 4 символа), что бы каждые отдельные блоки были полностью видны. Насчёт переносов фигурных скобок ситуация спорная, каждый считает по своему. Я же думаю, что открывающие фигурные скобки лучше не переносить на отдельную строку, дабы их и так видно и так код сокращается. Закрывающие же надо переносить на новую отдельную строку. За счёт того, что в строке всего одна фигурная скобка становится визуально видно как один блок кода оделён от другого и нет необходимости делать ещё одни перенос для отделения.
Если ещё, что вспомню, то обязательно допишу, спасибо за внимание.