Свяжитесь с нами

Нужна информация?

Enter F.A.Q.

Нужна информация?

Enter F.A.Q.
>  Новости  >  Стандарты разработки на PHP
Стандарты разработки на PHP
Статья будет особенно интересна начинающим специалистам в области программирования на языке php. Советуем обратить внимание на эту информацию, ведь это теория, проверенная на практике

1. Имена

     Марта 22, 2018             Web-разработка     
    Комментариев: "3"              7 мин.   
bottom: 35px;">Имена - сердце программирования. В прошлом люди верили, что если узнать настоящее имя человека, можно получить власть над ним. Если вы подберете правильные имена, вы наделите себя и других (всех, кто придёт после вас) властью над кодом. Просьба не смеяться, всё серьёзно.

  • Имена должны быть на английском языке и, ни в коем случае, не использовать в себе транслит;
  • Имена должны либо обозначать действие, которое Вы производите над кодом, либо нести смысл данной структурной единицы;
  • Если Вы вдруг обнаружили, что все объекты Вашего кода называются «Фигня» и «Штуковина», то такой код стоит серьезно пересмотреть;
  • Давайте имя тогда, когда Вы знаете, что, как и для чего этот класс будет делать. Если Вы этого не знаете, то вполне возможно, что Вы не продумали до конца концепцию модуля;
  • Не поддавайтесь искушению присвоить производному классу название, которое производится от имени родительского класса;
  • Иногда помогают суффиксы. Например, если в вашей системе используются различные агенты, то имя типа DownloadAgent несет достаточную смысловую нагрузку;
  • В качестве разделителей слов используйте заглавные буквы, строчные – для остальной части слов;
  • Первая буква в имени – заглавная;
  • Как правило, функция или метод совершают какое-либо действие, поэтому желательно, чтобы из имени было понятно, какой именно процесс будет совершаться: CheckForErrors() [ИщиОшибки()] вместо ErrorCheck() [ПоискОшибок()]; DumpDataToFile() [СваливайДанныеВФайл()] вместо DataFile()[ФайлДанных()];
  • Имена аргументов: первая буква – всегда строчная, все остальные слова в имени начинаются с большой буквы, как при именовании классов;
  • Имена переменных – используются только строчные буквы, в качестве разделителя слов используйте underscore ('_');
  • Именование элементов массивов происходит по правилам именования переменных. В качестве разделителя слов используйте underscore ('_'), а не дефис ('-');
  • В именах глобальных переменных рекомендуется использовать префикс 'g';
  • Для функций PHP используйте имена из строчных букв с underscore-ами ('_') в качестве разделителей.

2. Форматирование

Правила расстановки фигурных скобок:

  • Открывающая скобка ставится под соответствующим оператором и на одном отступе с ним;
  • Unix-стиль расстановки фигурных скобок – открывающая скобка ставится на одной строке с соответствующим оператором, а закрывающая – на одном отступе с оператором.

Правила расстановки скобок () рядом с операторами и функциями:

  • Не ставьте скобки сразу за операторами. Разделите их пробелом;
  • Ставьте скобки непосредственно сразу за именем функции;
  • Не используйте скобки в блоке return, если в этом нет необходимости.

Правила по отступам, табам и пробелам:

  • Отступ для каждого нового уровня - 3-4 пробела;
  • Используйте не табуляцию, а пробелы. Большинство редакторов в состоянии заменить их на табуляцию;
  • Делайте столько отступов, сколько Вам нужно, но не более того. Если Вы делаете отступ дальше четвёртого-пятого уровня, стоит подумать о вынесении кода в отдельный блок.

Форматирование блоков if then else:

  • На вкус программиста. Разный стиль расстановки фигурных скобок обусловит внешний вид условных блоков.

Формат switch:

  • При наличии соответствующего комментария допускаются блоки, передающие управление вниз;
  • Рекомендуется всегда ставить блок default, который сообщает об ошибке в случаях, когда попадание на него должно быть исключено;
  • Если Вам нужно создать какие-либо переменные, то весь соответствующий код ставьте внутри блоков case.

Использование continue, break:

  • Условие заключайте в скобки, тем самым отделяя его от остального кода;
  • Производимые по условию, должны быть простыми функциями;
  • Если весь блок ветвления плохо читается и расположен на одной строке, то блоки else и then размещайте на отдельных строках.

Выравнивание блоков объявления переменных:

  • Блоки инициализации переменных рекомендуется выравнивать табуляцией;
  • Знак & должен ставиться при типе переменной, а не при её имени.

Отступы и длина линии:

  • Используйте отступ в 4 пробела без вкладок. Это помогает избежать проблем с различиями, патчами, историей SVN и аннотациями;
  • Для Emacs Вы должны установить indent-tabs-mode в nil.

3. Несколько слов о комментариях

  • Комментарии должны быть содержательными;
  • Документируйте принятые решения;
  • Используйте заголовки;
  • Стилизуйте комментарии.

4. Формат описания gotchas

  • Ключевое слово gotcha должно ставиться в самом начале комментария;
  • Комментарии могут содержаться на нескольких строках, но первая строка должна быть логичным и законченным по смыслу конспектом;
  • Комментарий должен включать в себя имя автора и дату замечания. Эти сведения содержатся в документации исходников, но иногда бывает трудно их отыскать. Случается так, что потенциально опасный участок кода слишком долго не исправляется. Дата gotcha позволяет определить такие места. Указание на автора gotcha показывает, с кого нужно спрашивать.

5. Зарезервированные слова для описания gotchas

  • TODO: Здесь нужна доработка, простое напоминание;
  • BUG: [id] Выявленная ошибка, дайте описание и (не обязательно) номер ошибки;
  • KLUDGE: Если то, что Вы сделали, уродливо выглядит и работает, отметьте этот факт и объясните, как Вы поступите в следующий раз, когдау Вас будет время;
  • TRICKY: Сообщение о том, что данный отрезок кода сложен в исполнении и потому не стоит ничего менять, предварительно не разобравшись во всех "коварствах" конструкции;
  • WARNING: Предупреждение о чём-либо;
  • PARSER: Иногда Вам приходится что-то делать для успешного парсинга. Задокументируйте этот факт. Возможно, со временем проблема исчезнет;
  • ATTRIBUTE: Общий вид представления атрибута в комментарии. Вы можете создать свои атрибуты, и они тоже будут извлечены роботом.

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

Back-end разработчик
Компании IT-Мастерская

Поделиться:

Комментариев: " 3 "

     через vk

14 Сентября 2018
     через vk

11 Сентября 2018
     через vk

29 Августа 2018
ITM, 2017