Как настроить phpStorm для работы с 1С-Битрикс
Многие программисты для работы с 1С-Битрикс выбирают phpStorm (популярная платная IDE для создания веб-проектов). Это достойный выбор. IDE ускоряет многие аспекты кодирования без потери качества кода. Но эта статья не о достоинствах phpStorm.
Немногие знают, что на свете существуют правила написания исходного кода на PHP от Битрикса, соблюдение которых считается хорошим тоном. Правила не претендуют на звание абсолютной истины, но каких-то стандартов придерживаться ведь надо, не так ли? Попробуем настроить наш любимый phpStorm на работу с этими правилами. Настраивать будем версию 7.1.3 (самая свежая версия на момент написания статьи).
Все настройки в phpStrom разделены на две больших группы — Project Settings и IDE Settings. Для навигации по дереву настроек будет принято обозначение [Project Settings->Code Style->HTML]. Пример на рисунке ниже. Некоторые разделы Правил поддерживаются phpStorm по умолчанию (такие как «Правила переноса строк») и не будут отдельно упоминаться в тексте.
Все настройки, задаваемые в phpStorm, можно использовать как для написания нового кода, так и для автоформатирования старого. Чтобы вызвать диалог Reformat Code, нужно использовать меню [Code->Reformat Code] или воспользоваться комбинацией клавиш [Ctrl+Alt+L]. Применить настройки форматирования можно ко всему файлу, к выделенному фрагменту, ко всем файлам в каталоге (в том числе и рекурсивно). Полезная возможность, по ходу статьи в настройки вносится много изменений, так что инструмент быстрого форматирования уже существующего кода будет как никогда кстати.
Для ленивых — в конце статьи приведена итоговая таблица настроек, хотя настоятельно рекомендуется ознакомиться с самой статьей, или с Правилами программирования.
Многие IDE используют вертикальную линию для обозначения границы строки. PhpStrorm не исключение. Обычно при установке значения эта линия выводится как раз после 120-го символа в строке, но лучше заглянуть в настройки в раздел [Project Settings->Code Style->General] и проверить, так ли это. Нужная настройка называется Right margin (columns).
Чтобы phpStorm сам создавал переводы строк при достижении этого предела, можно отметить галочкой настройку в том же окне Wrap when typing reaches right margin. Включение этой настройки приносит необычные ощущения, к которым не все могут привыкнуть сразу. Но зато написать слишком много кода в строке в принципе не получится.
Теперь, чтобы сообщить IDE о приоритете табуляции, нужно в настройках [Project Settings->Code Style->PHP] на вкладке Tabs and Indents найти пункт Use tab character и включить эту опцию.
Следом идет опция Smart tabs, которая отменяет приоритет табуляции для случаев, когда вы делаете отступы после кода перед однострочным комментарием. Так как насчет форматирования комментариев Правила ничего не говорят, включать ее или нет — остается на ваше усмотрение.
На данном этапе можно воспользоваться инструментом автоформатирования (Reformat Code) для исправления отступов.
Хотя отступы согласно Правилам написания исходного кода в Битрикс формируются табуляцией, есть пункт, посвященный и пробелам. Пробелы настраиваются на вкладке Spaces в [Project Settings->Code Style->PHP].
Один пробел используется в объявлении методов после запятой, но не перед скобками:
За описанное правило отвечает настройка After Comma в группе Other.
Так же одиночный пробел используют для выделения операторов:
Из правила неясно, какие именно операторы имеются в виду. Но, изучая примеры на странице Правил, можно заключить, про пробелами окружаются операторы:
Таким образом, можно предложить оставить все галочки в группе настроек Around Operators, кроме Unary operators (!, -, +, ++, -).
Также пробелы используются при форматировании циклов:
Согласно предыдущему правилу, мы уже установили пробелы вокруг операторов. Осталось только убедиться, что пробелы ставятся после точки с запятой. Это можно сделать в группе Other, настройка называется After semicolon.
Примечание: присутствие или отсутствие пробела после if правилами не регламентируется.
Данное примечание дает нам вольность в выборе, использовать или нет пробелы после ключевого слова if, и, скорее всего, for, while, switch, elseif, catch. Для единообразия предлагаю оставлять настройки phpStorm по умолчанию — а это значит, что в группе Before Parentheses будут установлены настройки:
Одно из существенных правил, следование или не следование которому может сильно «выделять» ваш код из толпы.
Чтобы убедиться, что phpStrom расставляет скобки как надо, необходимо найти вкладку Wrapping and Braces по адресу [Project Settings->Code Style->PHP]. За положение фигурных скобок отвечает блок Braces placement. Он содержит три настройки, которые указывают положение скобок при объявлении классов, функций и прочих случаев. Значение всех трех настроек должно быть Next line.
Данное окно содержит область предпросмотра изменений справа, так что сразу после изменения можно увидеть результат своих действий.
Перед логической секцией рекомендуется вставить комментарий, в котором будет указано назначение этой секции.
Согласно правилу, программист вправе вставлять пустые строки в коде где угодно, чтобы разделять код на логические блоки, но упомянуты и прямые требования — пустые строки вокруг объявления метода.
Управление пустыми строками в phpStorm осуществляется во вкладке Blank Lines во все том же разделе [Project Settings->Code Style->PHP]. Необходимо установить значение 1 у настройки Around method. Не противоречит правилам установка других настроек, обычно добавляют отступы вокруг объявления класса (настройка Around Class).
Немногие знают, что на свете существуют правила написания исходного кода на PHP от Битрикса, соблюдение которых считается хорошим тоном. Правила не претендуют на звание абсолютной истины, но каких-то стандартов придерживаться ведь надо, не так ли? Попробуем настроить наш любимый phpStorm на работу с этими правилами. Настраивать будем версию 7.1.3 (самая свежая версия на момент написания статьи).
Пролог
Далее по тексту курсивом будут выделяться цитаты из Правил. Все основные манипуляции с настройками предстоит делать в окне Settings. Открыть его можно через меню File->Settings, используя кнопку на приборной панели, или используя комбинацию клавиш [Ctrl+Alt+S]. В окне настроек есть строка поиска — очень удобный инструмент, которым можно пользоваться, если знать как именно называется нужная Вам опция.Все настройки в phpStrom разделены на две больших группы — Project Settings и IDE Settings. Для навигации по дереву настроек будет принято обозначение [Project Settings->Code Style->HTML]. Пример на рисунке ниже. Некоторые разделы Правил поддерживаются phpStorm по умолчанию (такие как «Правила переноса строк») и не будут отдельно упоминаться в тексте.
Все настройки, задаваемые в phpStorm, можно использовать как для написания нового кода, так и для автоформатирования старого. Чтобы вызвать диалог Reformat Code, нужно использовать меню [Code->Reformat Code] или воспользоваться комбинацией клавиш [Ctrl+Alt+L]. Применить настройки форматирования можно ко всему файлу, к выделенному фрагменту, ко всем файлам в каталоге (в том числе и рекурсивно). Полезная возможность, по ходу статьи в настройки вносится много изменений, так что инструмент быстрого форматирования уже существующего кода будет как никогда кстати.
Для ленивых — в конце статьи приведена итоговая таблица настроек, хотя настоятельно рекомендуется ознакомиться с самой статьей, или с Правилами программирования.
Структурирование текста
Какие настройки возможныДлина строки
Нужно стараться избегать строк длинной более 120 символов. Если строка превышает этот размер, то нужно использовать правила переноса строки.Многие IDE используют вертикальную линию для обозначения границы строки. PhpStrorm не исключение. Обычно при установке значения эта линия выводится как раз после 120-го символа в строке, но лучше заглянуть в настройки в раздел [Project Settings->Code Style->General] и проверить, так ли это. Нужная настройка называется Right margin (columns).
Чтобы phpStorm сам создавал переводы строк при достижении этого предела, можно отметить галочкой настройку в том же окне Wrap when typing reaches right margin. Включение этой настройки приносит необычные ощущения, к которым не все могут привыкнуть сразу. Но зато написать слишком много кода в строке в принципе не получится.
Пробелы и табуляция
Для форматирования отступов в коде нужно использовать табуляцию. Использование пробелов запрещено. Причины:- в случае использования табуляции каждый может настроить в своем редакторе желаемый отступ;
- используется один символ вместо нескольких;
- в случае смешивания пробелов и табуляции текст будет прыгать, разрушая форматирование.
Теперь, чтобы сообщить IDE о приоритете табуляции, нужно в настройках [Project Settings->Code Style->PHP] на вкладке Tabs and Indents найти пункт Use tab character и включить эту опцию.
Следом идет опция Smart tabs, которая отменяет приоритет табуляции для случаев, когда вы делаете отступы после кода перед однострочным комментарием. Так как насчет форматирования комментариев Правила ничего не говорят, включать ее или нет — остается на ваше усмотрение.
На данном этапе можно воспользоваться инструментом автоформатирования (Reformat Code) для исправления отступов.
Пробелы
После запятой должен быть пробел. После точки с запятой, если она не последняя в строке (например, в инструкции for), должен быть пробел. Перед запятой или точкой с запятой пробелы не ставятся. Все операторы должны быть отделены пробелом от операндов с обеих сторон. Замена пробела символом табуляции не допускается.Хотя отступы согласно Правилам написания исходного кода в Битрикс формируются табуляцией, есть пункт, посвященный и пробелам. Пробелы настраиваются на вкладке Spaces в [Project Settings->Code Style->PHP].
Один пробел используется в объявлении методов после запятой, но не перед скобками:
TestMethod($a, $b, $c);
За описанное правило отвечает настройка After Comma в группе Other.
Так же одиночный пробел используют для выделения операторов:
$a = $b * $c / $d;
Из правила неясно, какие именно операторы имеются в виду. Но, изучая примеры на странице Правил, можно заключить, про пробелами окружаются операторы:
- присваивания;
- логические;
- сравнения;
- арифметические.
Таким образом, можно предложить оставить все галочки в группе настроек Around Operators, кроме Unary operators (!, -, +, ++, -).
Также пробелы используются при форматировании циклов:
for ($i = 0; $i < 10; $i++)
Согласно предыдущему правилу, мы уже установили пробелы вокруг операторов. Осталось только убедиться, что пробелы ставятся после точки с запятой. Это можно сделать в группе Other, настройка называется After semicolon.
Примечание: присутствие или отсутствие пробела после if правилами не регламентируется.
Данное примечание дает нам вольность в выборе, использовать или нет пробелы после ключевого слова if, и, скорее всего, for, while, switch, elseif, catch. Для единообразия предлагаю оставлять настройки phpStorm по умолчанию — а это значит, что в группе Before Parentheses будут установлены настройки:
- ‘if’ parentheses;
- ‘for’ parentheses;
- ‘while’ parentheses;
- ‘switch’ parentheses;
- ‘catch’ parentheses.
Правила расстановки фигурных скобок
Открывающая скобка должна ставится под соответствующим оператором и на одном отступе с ним. Закрывающая скобка должна ставится под соответствующей открывающей.Одно из существенных правил, следование или не следование которому может сильно «выделять» ваш код из толпы.
Чтобы убедиться, что phpStrom расставляет скобки как надо, необходимо найти вкладку Wrapping and Braces по адресу [Project Settings->Code Style->PHP]. За положение фигурных скобок отвечает блок Braces placement. Он содержит три настройки, которые указывают положение скобок при объявлении классов, функций и прочих случаев. Значение всех трех настроек должно быть Next line.
Данное окно содержит область предпросмотра изменений справа, так что сразу после изменения можно увидеть результат своих действий.
Пустые строки
Пустые строки помогают разбивать код приложения на логические сегменты. Несколькими строками могут отделяться секции в исходном файле. Одной пустой строкой отделяются друг от друга методы и логические секции внутри метода для более удобного чтения.Перед логической секцией рекомендуется вставить комментарий, в котором будет указано назначение этой секции.
Согласно правилу, программист вправе вставлять пустые строки в коде где угодно, чтобы разделять код на логические блоки, но упомянуты и прямые требования — пустые строки вокруг объявления метода.
Управление пустыми строками в phpStorm осуществляется во вкладке Blank Lines во все том же разделе [Project Settings->Code Style->PHP]. Необходимо установить значение 1 у настройки Around method. Не противоречит правилам установка других настроек, обычно добавляют отступы вокруг объявления класса (настройка Around Class).
Краткая сводка
В данной таблице объединена информация всей статьи, так что с ее помощью можно быстро убедиться, правильно ли у вас настроен phpStorm.Путь в дереве настроек | Название настройки | Необходимое значение | Значение по умолчанию |
Project Settings->Code Style->General | Right margin (columns) | 120 | 120 |
IDE Settings->Editor->Appearance | Show whitespaces | Да | Нет |
Project Settings->Code Style->PHP, вкладка Tabs and Indents | Use tab character | Да | Нет |
Project Settings->Code Style->PHP, вкладка Spaces | Other — After Comma | Да | Да |
|
Around Operators — все кроме Unary operators (!, -, +, ++, -) | Да | Да |
|
Around Operators — Unary operators (!, -, +, ++, -) | Нет | Нет |
|
Other — After semicolon | Да | Да |
Project Settings->Code Style->PHP, вкладка Wrapping and Braces | Braces placement — In class declaration | Next line | Next line |
|
Braces placement — In function declaration | Next line | Next line |
|
Braces placement — Other | Next line | End of line |
Project Settings->Code Style->PHP, вкладка Blank Lines | Around method | 1 | 1 |
|
Around Class | 1 | 1 |
Заключение
В данной статье рассмотрен только аспект Правил написания исходного кода на PHP от компании 1С-Битрикс, связанный с форматированием кода — отступами, пробелами, скобками. Все прочие виды правил (стандарты именования классов, методов, переменных, констант; использование комментариев, идиом) будут рассмотрены отдельно.Оцените статью
01.04.2014
Понравилась статья?
Поделитесь ссылкой с друзьями и коллегами!
Статьи по теме
Мы работаем по одному из двух форматов:
- аренда команды (от 2 человек, не менее 3 месяцев);
- итерации с фиксированной ценой (1-3 месяца длительностью).
ИНТЕРВОЛГА предоставляет:
- регулярные онлайн-планерки с заказчиком;
- квалифицированных специалистов;
- организованную команду (находятся в одном помещении, что упрощает решение рабочих вопросов);
- полную прозрачность и регулярность отчетов о результатах.
Ключевые услуги:
- нагруженный интернет-магазин;
- личный кабинет;
- оптовые продажи — B2B-платформа;
- маркетплейс;
- технический аудит сайта;
- Битрикс24 — корпоративные HR-порталы;
- Битрикс24 — построение CRM-системы;
- Битрикс24 — личные кабинеты сотрудников;
- Битрикс24 — аудит портала;
- 1С — интеграция с другими системами;
- 1С — доработка системы;
- маркетинг — комплексное интернет-продвижение;
- маркетинг — продвижение для B2B.
Хотите получать лучшие статьи от INTERVOLGA раз в месяц?
Подпишитесь на рассылку — спамить не будем