Какие best practice разработки с WordPress для новичка?

Привет! Вопрос к опытным разработчикам, работающим с WordPress!
Я новичок.
Хочу разобраться как вести разработку максимально удобно, современно.
Хочу изучить новые инструменты и вообще понять что есть best practice в мире wp сейчас!
Прошу объяснить по-простому, написать какой-то путь или нумерованный список "как организовать разработку сейчас", чтобы было круто.

Я нашел много интересного, но пока не понимаю как это всё собрать воедино, что зачем нужно, много непонимания:
1. среду разработки использую PhpStorm, по университетской лицензии.
2. для версий кода использую Git, храню локально и на Gitlab.
3. при разработке пушу через SSH сразу на shared хостинг, а не на локальный сервер (никогда локальным не пользовался, а надо? каким?)
4. работаю под Linux, знаком с консолью, bash, но не понимаю как использовать wp-cli, в чем он удобен?
5. присматриваюсь к Roots и Bedrock, но не понимаю как к ним подступиться, нужно объяснение что и зачем делать, какие-то инструкции...
6. хочу начать использовать composer
7. хочу начать писать тесты, PHPUnit?

Сейчас как-то грустно, что wp любят поносить за его "легкий вход", "говнокод", "это не программирование" и т.д.
Как всё это собрать вместе?
Прошу подробных ответов, по возможности со ссылками и/или инструкциями.
Хочу учиться.
  • Вопрос задан
  • 213 просмотров
Пригласить эксперта
Ответы на вопрос 3
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Во-первых, прекратите спамить всех подряд, такой подход не очень продуктивен.

Во-вторых, у вас не вопрос. Вопрос - это как правило одна (иди хотя бы одна главная) проблема, которую можно решить одним ответом. Как правило не очень объемным, потому что S из SOLID, как мы знаем, это Single Responsibility Principle. Ваш вопрос его нарушает чуть более чем полностью. Из этого следует, что вам нужно разбить ваш вопрос на множество других. И задавать их желательно по порядку, получая ответы, применяя их в жизни, практикуясь, и только потом переходя далее. Ибо влить в мозг весь этот объем информации за раз можно только в фильме "Матрица", а мы, увы, не там.

Тезисно пройдусь по пунктам, чтобы прояснить ситуацию.

Хочу изучить новые инструменты и вообще понять что есть best practice в мире wp сейчас!

Не существует единой best practice. Есть разные подходы, каждый из них имеет плюсы, минусы и право на жизнь. Все очень сильно зависит от команды, ее размера и опыта, компании и процессов, клиента, проекта, его размера и бюджета и тд. Ну а общие принципы мало отличаются от разработки в целом, будь то Symfony, Laravel, Ruby on Rails и тд.

Я нашел много интересного, но пока не понимаю как это всё собрать воедино, что зачем нужно, много непонимания

Это нормально. Почему - перечитайте абзац про Single Responsibility Principle выше.

1. среду разработки использую PhpStorm, по университетской лицензии.

Несущественно. PhpStorm отличная IDE, пожалуй лучшая для разработки на PHP в целом, WP или нет - не важно (сам использую именно ее). Но далеко не все могут использовать ее бесплатно по университетской лицензии, многие покупать не хотят, многим не нравится производительность. Стандарт ли это? Для кого как.

2. для версий кода использую Git, храню локально и на Gitlab.

Git - это наиболее популярная VCS на данный момент. Само использование системы контроля версий является стандартом, во всем мире разработки.

3. при разработке пушу через SSH сразу на shared хостинг, а не на локальный сервер (никогда локальным не пользовался, а надо? каким?)

Использование локального сервера - стандарт. Обязательно, не обсуждается. Пушить на shared - плохая практика (и пушить на прод, и shared). Изучаем про локальные сервера, Continuous Integration и Continuous Delivery. Впрочем, для WP важно понимать, что бОльшая часть проектов будет простая и небольшая, со скромным бюджетом, а там вся эта кухня может быть лишней (смотрим абзац про зависимость best practices от проекта и тд). Поэтому обычного простого деплоя по мерджу в мастер хватит. Гугл в помощь.

4. работаю под Linux, знаком с консолью, bash, но не понимаю как использовать wp-cli, в чем он удобен?

WP-CLI это инструмент. Использовать его - хорошо. Чем удобен / полезен поймете когда разберетесь с деплоями, автоматизацией и тд. Но не поймете если не начнете заставлять себя с ним работать.

5. присматриваюсь к Roots и Bedrock, но не понимаю как к ним подступиться, нужно объяснение что и зачем делать, какие-то инструкции..

Рано. Очень рано вам к ним присматриваться.

6. хочу начать использовать composer

Начинайте. Гуглите, материалы на эту тему есть. Будут конкретные вопросы - задавайте, будем отвечать.

7. хочу начать писать тесты, PHPUnit?

Если бы спрашивали за Laravel, то да. Но по WP - забудьте. Думать про тесты в WP вам рано и не нужно. Голову сломаете. Да и проекты, где это понадобится вам пока не светят.

Сейчас как-то грустно, что wp любят поносить за его "легкий вход", "говнокод", "это не программирование" и т.д.

Это не только сейчас и не только про WP. Добро пожаловать в прекрасный мир разработки, где каждый второй с радостью обосрёт инструмент, о котором мало что знает или потому что ему лично он не подходит / не нравится. Вырабатывайте свое личное мнение. WP сам по себе лишь инструмент. Хороший или плохой - не важно. Он решает определенные задачи, и делает это лучше / быстрее / дешевле / проще других.

Как всё это собрать вместе?

Постепенно. Шаг за шагом. Слона нужно есть по частям, иначе подавитесь.

Прошу подробных ответов, по возможности со ссылками и/или инструкциями.

Это придется накатать книгу, и не одну.

Хочу учиться.

Достойное желание. Учитесь, никто не мешает. Гугл, кодекс, кама и другие ресурсы в помощь.

Бонус: запомните одну простую истину - вы не сможете что-то изучить или освоить, если не начнете с ним работать. Только на реальной практике можно понять и осознать. Можно прочитать 10 лучших книг про ООП (для примера), но пока вы не напишете, выбросите, перепишете несколько раз свой код на ООП, вы его не поймете.
Ответ написан
Комментировать
OtshelnikFm
@OtshelnikFm Куратор тега WordPress
Обо мне расскажет yawncato.com
В этой теме хорошие ответы Как проходит разработка на Wordpress? от меня, Игоря и Дмитрия

Ну а что лучше WordPress, GIT, шторм - дело вкуса.

У меня более 100 разработок под вордпресс. В основном это аддоны для WP-Recall. Продаю их на codeseller

Нет локального сервера. Dev сервер на хостинге, закрыт для всех, открыт один IP. На лето уехал на дачу с ноутом - подключился к хостингу и работаю. В случае локальной разработки как было бы дело? Держать включенным ПК когда меня нет в квартире - не вариант. Держать 2 сервера на ПК и на ноуте - мне не подходит. Я часто работаю удаленно из разных мест - и для меня вариант сервера разработки у хостера - идеальный.

Да - я не пишу тесты, не было надобности.

Использую NetBeans - который сейчас вдруг ожил и начал снова развиваться. В нем меня на данный момент всё устраивает. Были попытки перейти на VSCode - но пришел к пониманию что возиться с его настройкой и тысячами плагинами - так себе затея. Не настроил в нем удаленную синхронизацию - бросил затею с ним.

Использовал битбакет для закрытых проектов, но сейчас их переношу на гитхаб. Они открыли опцию скрытия приватных репозиториев для обычного аккаунта. Зачем мне PRO-аккаунт когда я в основном работаю один или в паре.

Query monitor - как помощник для разработки

По поводу говнокода...
Когда ООП, но чаще процедурный стиль. Когда проект вырастает и обрастает - рефакторинг в ООП. Да - лично я начинать писать в ООП стиле не буду - т.к. часто нет понимания что там и как. Зато накидывается каркас быстро. Потом уже понимаешь нужен там ООП или нет.
IDE форматирует все по сохранению. Мы максимально близко WPCS использовали, хотя есть некоторые отступления от него.

DocBlock - кто-то использует, кто-то нет. Код сам расскажет лучше о том что он делает :) - но тс... я вам этого не говорил

Кто-то скажет "Парень - вот ты вредных советов надавал и это пример как делать не надо". Я обрисовал свою ситуацию. Многие проекты я поддерживаю уже 4-ре года (собственно тогда и ушел из офиса на удалёнку и ниразу не пожалел. С самоорганизацией у меня проблем нет. Надо работать - работаю). Проблем мне это не создает, да и другим вроде тоже. Зачем усложнять жизнь если реальных потребностей не было? Применять или не применять что-то - зависит от здравого смысла. Зачем тратить время на автотесты - когда проект простой. когда у тебя < 10000 строк кода - тоже не вижу смысла в docBlock или автотестах. Не пинайте сильно тапками - но жизнь говорит - нужно делать все быстро, а еще отдыхать надо, семья и дети. Жизнь одна и ее не должен поглощать код и сопутствующие заморочки с окружением... А документацию и тестирование в одну репу тянуть тяжко.

Короче - не усложняйте или 20/80
Ответ написан
Комментировать
cesnokov
@cesnokov
<head>&nbsp;</head>
Чтоб ответить на ваши вопросы надо книгу написать. Но если вы действительно знаете смысл слов: PhpStorm, Gitlab, bash, PHPUnit - то вы молодец и со временем станете спецом, главное не останавливайтесь и набирайтесь опыта.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы