Размер проекта и «упрощение»
По какой-то причине существует постоянное противоречие (по крайней мере, насколько я понимаю) между полезностью создания чего-то для кого-то и количеством времени, которое требуется для создания упомянутой вещи.
Под этим я подразумеваю, что когда дело доходит до WordPress, относительно легко создавать небольшие простые плагины и утилиты для других, которые не обязательно следуют современным передовым методам.
И что касается этого поста, я бы сказал, что современные лучшие практики выглядят примерно так:
- менеджер пакетов на стороне сервера,
- менеджер пакетов на стороне клиента,
- правильное модульное тестирование,
- хорошо продуманные классы,
- документированный код,
- и так далее.
И все это здорово и, возможно, необходимо для крупных проектов (особенно потому, что поддержка и последовательное развитие будут играть такую важную роль).
Все просто
Но как насчет небольших проектов, где вы более или менее единственный распорядитель кодовой базы? Я не говорю, что хорошие практики не должны внедряться. Я думаю, нам следует:
- иметь хорошо документированную кодовую базу,
- дизайн функций или классов, ориентированный на будущее развитие,
- и оптимизация как клиентского, так и серверного кода
Но значит ли это, что в этих проектах должны быть большие каталоги поставщиков или большие каталоги node_modules?
Photo by Artur Pokusin on Unsplash
Короче говоря, я так не думаю. Я думаю, что это приводит к чрезмерной инженерии.
Делайте вещи как можно проще, но не проще.
Это не означает, что мы отказываемся от тщательности, необходимой для написания качественного кода в контексте нашей IDE.
Возможные рекомендации
Но, возможно, на этом все и останавливается. То есть, возможно, хорошее эмпирическое правило:
- Если проекту потребуется непрерывная интеграция, то он должен иметь необходимые ограничения для обеспечения качества как локально, так и в промежуточных средах, а также в процессе непрерывной интеграции.
- Если проект будет создан, а затем выпущен (и так будет итеративно), то большая часть качества должна измеряться и обеспечиваться через IDE.
Я не знаю, лучший ли это способ подойти к этому, но это то, над чем я размышлял и продолжаю приходить к вышеизложенному набору пресловутых барьеров.
В настоящее время я пишу электронную книгу (наряду с другим премиальным контентом). Если вам интересно, посмотрите, что вы получите.