Когда вы создаете тему бесплатную или платную, ее тестирование должно быть основной частью процесса разработки. Планируя заранее, вы можете способствовать правильному развитию среды разработки, которая исправляет некоторые ошибки по дизайну, и это помогает вам предотвратить другие. Цель данной статьи — поделиться некоторыми из приемов, которые я использую лично во время и после разработки проекта, чтобы получить идеальный продукт без каких-либо ошибок.
Эта статья разделена на три раздела:
- Настройка,
- Этап разработки,
- Финальный тест.
Эта статья должна дать вам хороший обзор того, что вы можете сделать в течение цикла разработки. Приглашаю всех желающих высказать свои собственные советы в комментариях к этой статье. Мне было бы интересно услышать ваши советы по тестированию тем для WordPress
Настройка
Правильная настройка среды, может иметь большое значение для предотвращения ошибок. Она также упростит вам поиск этих ошибок. Для меня все начинается с контроля вариантов.
Настройка WordPress
Вы можете сделать миллион вещей, при настройке WordPress, чтобы обеспечить устранение ошибок. Я всегда делаю несколько вещей:
- Использование одного сайта (Многоабонентский WordPress) При небольших отличиях, в ходе развития сетевой установки, возникают серьезные различия в методологии (особенно при использовании плагинов). Потому я использую один сайт для темы, которую я делаю, это довольно полезно, и я могу убедиться, что тема работает хорошо при всех сетевых инсталляциях.
- Специальный префикс таблиц Установка специального префикса таблиц помогает в двух случаях. Во-первых, она гарантирует, что вы не сделаете трудный код доступа к базе данных. Во-вторых, она дает вам дополнительный уровень безопасности. Всем известно, что теме дается название по умолчанию:
wp_
, так что выбор названия239Jd_23eKSmCM892_Vuhwedp
, будет являться мини-паролем для вашей базы. - Включение отладки информации Я обнаружил, что многие небрежные разработчики оставляют неопределенные переменные и другие подобные неприятные мелочи повсеместно. PHP не может жаловаться на эти проблемы по умолчанию, но они раздражают и могут привести к другим, более глобальным проблемам в будущем. Чтобы убедиться, что вы случайно не сделали мелкие ошибки, убедитесь, что
WP_DEBUG
установлен файлtrue
вwp-config.php
. - Отключить сценарий объединения WordPress Более неясной особенностью WordPress является возможность отключения сценария объединения. Иногда, когда вы выясняете как работает WordPress, вы хотите взглянуть на некоторые из встроенных файлов JavaScript. Если вы установите значение
define('CONCATENATE_SCRIPTS', false);
в файлеwp-config.php
, то сценарии будут втянуты в отдельности. Не забудьте включить эту функцию для производственных сред. - Расширенный запрос анализа Если вы установите постоянное значение
define('SAVEQUERIES', true);
в файлеwp-config.php
, то WordPress будет сохранять все запросы, которые выполняются в переменную. Вы сможете получить доступ с помощью набора$wpdb->queries
. - Очистка мусора Обычно существует особенность, что мусор становится на вашем пути, когда вы разрабатываете, создаете или удаляете страницы и сообщения. Включите очистку мусора, установив параметры
define('EMPTY_TRASH_DAYS', 0 );
в файлеwp-config.php
. - Испытайте сообщения Бросившись с места в карьер, я обычно импортируют содержание теста из “Тест единицы Темы.” Этот набор тестов содержит нормальные сообщения, сообщения без названия, сообщения без содержания , сообщения с выбранными изображениями и без, “липкие сообщения”, сообщения с загруженной категорией и так далее.Это поможет вам хорошо проверить крайние случаи, которые имеет решающее значение для всех тем.
Также я обычно создаю 16 пользователей с различными ролями и правами. К сожалению, у меня нет для этого сценария, но не так уж и сложно его написать. Вы можете создать массив в файле и просто подать его на функцию в цикле wp_insert_user()
. Что-то вроде этого:
$users[0] = array( 'first_name' => 'Daniel', 'last_name' => 'Pataki', 'user_login' => 'danielpataki', 'user_pass' => 'mysupersecretpass', 'user_email' => 'mysupermail@mymail.com', 'display_name' => 'Daniel', 'description' => 'Guitar-wielding Web developer', 'role' => 'administrator' ) $users[1] = array( 'first_name' => 'Viki', 'last_name' => 'Makra', 'user_login' => 'viki', 'user_pass' => 'hersupersecretpass', 'user_email' => 'hersupermail@mymail.com', 'display_name' => 'Viki', 'description' => 'Front-end developer and awesome admin handler', 'role' => 'editor' ) foreach( $users as $user ){ wp_insert_user( $user ); }
У меня фактически есть ряд испытательных электронных ящиков для каждой учетной записи пользователя, которую я создаю, также я добавляю аватарку для каждого из них на Gravatar. Вы можете захватить альбом с интересными изображениями, поискав аватары на ThemeForest.
Вы также можете использовать плагины, такие как Фото пользователей или Простые аватарки.
Контроль версий
Контроль версий является одним из лучших плагинов при построении тем. Предпочитаете ли вы Git, SVN, Mercurial или другую систему, вы всегда сможете перейти на различные версии и всегда иметь у себя резервную копию вашей работы.
Контроль версий, предположительно является самым полезным плагином. Это действительно так, я обнаружил, что он привносит довольно ценный порядок в вашу работу. Я настоятельно рекомендую прочитать “Управление версиями в Subversion” и “Pro Git“. Обе статьи имеют богатую практическую информацию о системе управления версиями, как общую, так и специфическую.
В течение Разработки
Вот некоторые полезные советы и уловки, которых будет полезно придерживаться во время разработки.
“Я сделаю это позже.”
Как опытный кодер, я обычно знаю свой путь вокруг кодирования задачи. Если я реализую картографический инструмент поиска, то крупнейшей задачей, чтобы убедиться, что форма работает и то, что когда пользователь выполняет поиск, она выдается в Google и то, что результаты отображаются, и так далее. После того как это сделанно, убедитесь, что форма выглядит хорошо, что администраторы могут определять тип карты для пользователей.
Раньше я работал через основные функции, а затем возвращался и подправлял детали. Единственная проблема заключается в том, что это самая худшая практика. Вы забываете какие-либо детали, ваш код становится грязным, и вы не можете сохранить его должным образом, и он становится гигантской головной болью для вас.
Я рекомендую либо разработать функцию либо не разрабатывать. Удостоверьтесь, что вы добавили все запланированные опции и что они не делают ненужной работы или имеют ошибки, которые являются “не большими проблемами, потому что они могут легко быть установлены позже.”
Если ваш код является модульным, вы можете, конечно разделить представление и функциональность, но это уже история для другой статьи.
Модульность — король
Лучший способ развить модульность — это следовать урокам объектно-ориентированных языков или объектно-ориентированного PHP. Вы не можете сделать (или может быть не хотите) код, содержащий все классы, но общая философия будет очень полезна.
Виджеты в WordPress являются отличным примером. С помощью довольно простой схемы, вы можете создать фоновую форму для виджета и убедиться, что он сохраняет свои данные должным образом, и что вы можете добавить к нему интерфейсный код. Тогда, виджет будет работать в любом месте, в любое время.
Вы можете применять те же принципы для большинства задач кодирования. Написать код, который является как можно более независимым. Ваш код будет оставаться чистым и будет чудесно работать.
Правильные настройки
Самые большие повышения скорости во время развития получаются благодаря выбору правильных средств разработки. Ниже список приложений и других инструментов, которые постоянно ускоряют мой процесс работы.
LESS
Довольно легкая задача в настоящее время, приложение LESS /Sass должно быть в наборе инструментов каждого. Хотя и не без критики, эти инструменты помогут вам сильнее, чем о них говорят.
Небольшое примечание об программе LESS. Многие люди действительно ненавидят идею использования LESS для CSS. Хотя их соображения являются обоснованными, я с ними не согласен. Но это не должно касаться вашего выбора. В конечном счете, все сводится к предпочтениям.
CodeKit
Я не могу даже объяснить, как сильно я люблю программу CodeKit. CodeKit помогает вам создавать веб-сайты быстрее и лучше. Она синхронизирует параметры проекта по группам и компьютерам в открытом формате JSON, держит только одну копию файла на диске и легко использует его во многих проектах, не беспокоясь о пути к файлам, помогает вам делать отладки скриптов весело и легко. Кроме того вы без потерь сможете уменьшить JPEG и PNG размер файла одним щелчком мыши и увидеть сохраненный результат.
Одно предостережение, эта программа предназначена только для Mac. Существует куча альтернативных программ, таких как Mixture Compass и Fire.app, но ни одна из них не сравнится с наборов функций, представленных в CodeKit.
Snippets
Любой разработчик хотя бы один раз, да сталкивался с ситуацией, в какой ему приходилось несколько раз писать один и тот же код, но на это очень жалко тратить лишнее время. Или же, например, у веб-разработчиков уже есть некие заготовки решения тех или иных типичных проблем, связанных с разным поведением разнообразных браузеров. В этом случае, такие кусочки кода бы было замечательно сохранить на будущее и воспользоваться ними при каждой потребности. Именно в этом и состоит концепция приложения, а куски такого кода в ней называют «сниппетам». Сама программа сделана просто отлично. Библиотеку сниппетов возможно просматривать несколькими способами: всю сразу или же отфильтров …
Если вы хотите прочитать полностью статью, посетите сайт наших спонсоров