Прежде всего, создавайте код, который будет читабельным, осмысленным, последовательным и красивым.

Стандарты кодирования WordPress

Недавно я посетил WordCamp Portland 2017, где Shawn Hooper и Doug Yuen обсуждали лучшие практики кодирования в WordPress и коде плагинов. Не будучи программистом, я не осознавал, как хорошие программисты стремятся к ясности, пониманию и эффективности, как это делают технические и художественные писатели, пытаясь сделать жизнь лучше для всех, кто читает и выполняет код.

Вот несколько лучших практик кодирования, которые обсуждали Шон и Даг, и то, как я думаю, что они применимы и к жизни.

Использовать теги ALT для всех изображений

Позволяет слабовидящим читателям узнать, какие изображения связаны с текстом. Необходим для создания доступного кода и веб-сайтов.

Признайте, что существует несколько способов восприятия мира. Помогите другим увидеть то, что видите вы. Вы никогда не знаете, на кого повлияет ваше общение.

Прокомментируйте свой код

Объясняет, почему некоторый код структурирован определенным образом или что он должен делать.

Будьте добры к себе в будущем. Когда вы не можете вспомнить, почему вы сделали то, что сделали, вы можете вернуться и выяснить это. Ведите дневник важных решений, которые вы принимаете, чтобы потом не сомневаться в себе.

Используйте табуляцию в начале строки для отступа; используйте пробелы посередине строки для выравнивания.

Повышает читабельность независимо от того, какой клиент или браузер используется для чтения кода.

Иногда вещи, которые кажутся глупыми или мелкими, на самом деле существуют по уважительной причине. С другой стороны, не парьтесь по мелочам. Примите решение и придерживайтесь его. Будьте проще и разумнее. Не пишите то, что впоследствии заставит вас нажимать клавишу удаления намного больше, чем необходимо.

Всегда используйте полные теги PHP. Никогда не используйте сокращенные начальные теги PHP.

Обеспечивает ясность и устанавливает ожидания.

Ясность побеждает ум. Просто скажи остальным, что, черт возьми, ты имеешь в виду. Цифровой эквивалент использования поворотника. Пишите полными предложениями, а не смайликами.

Удалить пробелы в конце

Пробелы в конце выглядят неаккуратно, они искажают выходные строки, создают шум при фиксации, заставляют синтаксический анализатор пропускать лишние символы при компиляции и излишне увеличивают размер файла.

Закрытие хорошее. Убирать за собой. Не добавляйте хаоса. Убирайте свои собственные беспорядки и ошибки.

Избегайте непосредственного обращения к базе данных.

(Всегда хорошая идея.) Абстракция базы данных (с использованием функций вместо запросов) помогает поддерживать совместимость кода с последующими версиями, а в случаях, когда результаты кэшируются в памяти, это может быть во много раз быстрее.

Если вам нужно что-то изменить, постарайтесь сделать это наименее инвазивным способом, который даст вам максимальную свободу действий в будущем. Не лезь в то, чего не понимаешь. Если он не сломан, не чините его. С другой стороны, если вам нужно что-то изменить, не бойтесь совершать коммиты… но сначала сделайте резервную копию. Слегка шагайте.

Тернарные операторы проверяют, верны ли утверждения, а не ложны.

Читателям не нужно прыгать через логические обручи.

Лучше исходить из того, что заявления людей в целом верны, что у них благие намерения, и что Вселенная в большинстве случаев является приветливым, благосклонным и изобильным местом. Сохранить веру. На бога надейся, а свой CamelCase завязывай. Проверка на ложные утверждения — уличение кого-то во лжи — в конце концов может быть полезной, но она также может вывести из себя в целом правдивых людей, особенно если они лгут во благо с добрыми намерениями.

Использовать условия Yoda

если ( true == $the_force ) {

$victorious = you_will( $be );

}

При выполнении логических сравнений с переменными всегда ставьте переменную или r-значение справа, а константы, литералы или вызовы функций или l-значения — слева.

В жизни постарайтесь определить, что преходяще и непостоянно, а что существенно и прочно. Поставьте на первое место то, что является основным и долговечным. Мой бывший генеральный директор говорил о «кристальных моментах», которые случаются всего несколько раз в жизни (например, свадьба ребенка), и «резиновых моментах», которые «отражаются» на наших жизненных линиях и дают нам неоднократные возможности для получения опыта. (например, детская тренировка по софтболу).

Объявление переменных с помощью var

Каждая функция должна объявлять любые необходимые локальные переменные. В противном случае переменная может попасть во внешнюю область и непреднамеренно обратиться к этим данным и изменить их.

Если что-то является переменным, изменяющимся или неопределенным, объявите, что это значит для вас. ПРЕДПОЛАГАЕМ, что из U и ME получается ASS. У каждой истории есть (по крайней мере) две стороны; все можно принять более чем одним путем. Стремитесь быть ясным. Если что-то может быть воспринято не так, как вы намеревались, так оно и будет. Если что-то *может* вылететь из задней части лодки на трейлере, это *вылетит* из задней части лодки на трейлере.

Чтобы быть хорошим распорядителем успешного проекта, нужно осознать, что написание кода для себя — это Плохая идея™. Если ваш код используют тысячи людей, то пишите свой код для максимальной ясности, а не для личных предпочтений в том, как быть умнее в рамках спецификации.

— Идан Газит

Первоначально опубликовано на Мишель Рау.