4. План
1. Наши цели
2. Что может нас ожидать?
3. Полезные практики
4. Интеграция с плагинами
5. Безопасность
6. Модульная архитектура
7. Пример модульной темы
5. Наши цели
Чего мы хотим от проекта?
● Простота поддержки
○ Низкий порог вхождения
○ Низкая себестоимость изменений
○ Минимум ошибок
● Отсутствие проблем с быстродействием
6. Что может нас ожидать?
Сложность поддержки
● Как найти / исправить ошибку?
● Где реализован этот блок?
● Кто так пишет? (стиль написания кода)
● Кто так пишет? (архитектура)
● Я не трогал этот модуль, откуда ошибка?
● Как я перенесу “часть изменений”?
7. Что может нас ожидать?
Быстродействие Back-end
● Запросы в PHP циклах
● Повторяющиеся операции
● Структура БД
● Неоптимизированные запросы
8. Что может нас ожидать?
Быстродействие Front-end
● Большое количество медиа-файлов
● Растущий с прогрессией CSS
● Проблемы с JavaScript возникают редко
9. Пишем на одном языке
… с другими WordPress-разработчиками
Стандарты кодирования
● PHP Coding Standards
● HTML Coding Standards
● CSS Coding Standards
● JavaScript Coding Standards
10. Пишем на одном языке
… с другими WordPress-разработчиками
Используем возможности WordPress
● “wp_remote_…” вместо cURL
● “wp_mail” вместо PHPMailer
● “$wpdb” вместо “mysqli_query()”
19. Построение архитектуры
О качестве архитектуры
Архитектура ПО - многоуровневая система абстракций.
Качество абстракции
● Зацепление
● Связность
● Полнота
● Достаточность
● Примитивность
Качество классов и объектов, Гради Буч
20. Построение архитектуры
Что дают нам Модули?
● “Упрощение”
● Повторное использование
● Бесконфликтная работа команды
● Помодульные релизы