Янв
18
2013

Советы по улучшению своего кода

binary-code-and-computer-monitors-backgrounds-wallpapers

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

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

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

Стандарты программирования WordPress

bad-code

В первую очередь напомним то, что мы и так без конца повторяем:

Соблюдайте стандарты программирования WordPress при написании своих тем, плагинов или приложений, это действительно важно.

Для тех кто еще не знает, WordPress Coding Standards определяют правила мы должны форматировать наш WordPress-основанный PHP. Конечно ни кто не заставляет соблюдать эти правила. и Вы можете игнорировать их (многие так и делают), но это считается хорошим тоном, для тех, кто серьезно разрабатывает приложения на WordPress, и проявляется в уважении со стороны комьюнити.

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

С другой стороны, это позволяет другим легко вносить свой вклад в наш код. В конце концов, сам WordPress и его производные имеют открытый код, и другие люди могут захотеть присоединиться или ответвиться (fork’нуться), и могут это сделать потому что им легко читать наш код.

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

Комментируйте код

code-com

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

Обычно комментарии находятся на уровне классов, функций и реже встречаются на уровне отдельных строк. Комментарии есть в PHP, HTML, JavaScript, и CSS, поэтому у Вас нет оправдания, чтобы не использовать их там.

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

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

Если мы говорим о своем коде так, то что о нем думают другие, особенно более опытные коллеги.

Упрощайте функции

philosor

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

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

Это проблема, потому что:

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

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

Не повторяйся — DRY

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

Делай короче и проще — KISS

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

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

Используй короткие функции

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

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


Заключение

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

Прежде всего, мы верим, что мы должны стремиться к читаемости и тестируемости кода. Следование этим двум целям приведет в порядок все остальное.

Конечно это не самый полный список. Поэтому делитесь своими советами в комментариях :)

Похожие записи

Немного об авторе: Сергей Белянин

Основной автор этого блога. Еще совсем недавно студент, а сегодня уже Microsoft Certifed Professional, с неукротимым желанием сделать жизнь людей проще, автоматизировав скучную рутинную работу :)

  • http://ruskweb.ru/ Сергей

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

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

    • belyan

      есть еще моменты которые надо устранить, все руки не доходят) спасибо что не прошел мимо, надо будет зайти к тебе с ответным визитом :)

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