Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?

Как отформатировать код

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

Не бойся, сделать код аккуратным совсем не сложно. Самый универсальный способ — вставить его на сайт http://phpformatter.com и нажать кнопку Format. Робот сам выровняет твой код в лучших традициях.

Если ты используешь для редактирования кода IDE, то все еще проще (а если не используешь, то почему бы не начать?):

  • Eclipse PDT — жми Ctrl + Shift + F для автоматического форматирования кода.
  • Netbeans for PHP — жми Alt + Shift + F
  • Zend Studio — жми Ctrl + A (выделить все), затем Ctrl + Shift + F
  • PhpStorm — жми Ctrl + Alt + L
  • PHPDesigner — поищи нужную опцию в меню, она там есть. Или жми Ctrl + Shift + F1
  • Komodo IDE — правая кнопка -> Format Using...

Вот так IDE упрощает жизнь (еще в них есть автодополнение, автоматическая проверка кода и подсветка ошибок, навигация по файлам и функциям и много чего еще).

Если ты используешь Sublime Text 3, ставь расширение https://github.com/akalongman/sublimetext-codeformatter , но с ним придется повозиться, устанавливая и настраивая нужные компоненты, подойдет только для опытных пользователей.

Основные правила

Если ты вдруг решил выровнять код вручную, запомни эти правила:

  • переменные и функции пишутся с маленькой буквы, подчеркивание не используется, используется camelCase, пример: $x, $numberOfPeople, printResults()
  • название функции начинается с глагола, в стиле «сделайЧтоТо»: findUserByEmail
  • не знаешь английский (неужели такое бывает?) Не беда, в 21 веке есть решение этой проблемы. Не пиши транслитом, открой лучше Гугл Транслейт и найди название для переменной там
  • в именах классов используется CamelCase, первая буква большая, «_» может использоваться
  • мы предпочитаем подстановку переменных вместо конкатенации строк: "I am $age years old" — хорошо, 'I am ' . $age . ' years old' — плохо
  • мы используем для отступов 4 пробела, а не табы (нужно настроить редактор, чтобы при нажатии Tab он вставлял 4 пробела), так как с пробелами код выглядит одинаково на любом сайте и устройстве
  • скобки в for и if/else ставятся так (египетские скобки):
if (...) {
    ... 
} else {
    ...
}

for (...) {
    .....
}
  • у определений функций и классов так:
function doWorkForMe(...)
{
    ...
}
  • стоит ставить тайп-хинты для аргументов функций, результатов функций, свойств классов (если версия PHP ≥ 7.4):
class PersonRegistry
{
    private array $registry;
    
    public function findByEmail(string $email): Person
    ...

Рекомендации

Более подробно и с примерами правила описаны в рекомендациях PSR. Бывают и другие стили оформления кода, но PSR - наиболее распространенные и популярные:

@RobertV17

This comment has been minimized.

Copy link

@RobertV17 RobertV17 commented Jul 15, 2018

ty

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.