yakoffka.ru
грабли, костыли и велосипеды php, css, html, js и прочего

Правила хорошего* кода

  • 01
    комментируй
    многострочные комментарии использовать при отладке для быстрого комментирования больших частей кода, в остальных случаях - однострочные; не ленимся и побольше комментируем код, чтобы меньше напрягаться впоследствии.
  • 02
    именуй
    При процедурном программировании желательно использовать стандарт наименования переменных underscore (строчными латинскими буквами с нижним подчеркиванием вместо пробелов):
    Code:
    $rel_patch_termins; $new_var; $name_img etc.
    не забываем про короткие и осмысленные названия.
  • 03
    отступай и переноси
    При собирании результата в переменную перенос строк ставить в конце строки, отступ - в начале:
    Code:
    $res="$res\t\t\t<li>".numeration($key)." <a href='$link_".numeration($key)."'>$val</a></li>\n";
  • 04
    да не наплоди сущностей
    по возможности следует обходиться минимальным набором переменных; избавься от переменных сразу после того, как в них отпадёт надобность. убивай ,например, вспомогательные переменные еще на стадии написания:
    Code:
    foreach($array as $key=>$val){ ... }unset($key,$val);
  • 05
    кавычь
    двойные кавычки ставятся в php, одинарные - в html и css:
    Code:
    $tpm="<span class='tpm'>$tpm_</span>";
  • 06
    при отладке выводи значения переменных в кавычках
    при проверке значения переменных в процессе отладки обязательно обрамляй значение переменной кавычками:
    Code:
    echo __line__.": \$var='$var'<br>\n";
    так легко заметить пустое значение.
  • 07
    служебные сообщения
    прописываем служебные сообщения в виде:
    Code:
    echo __line__.": директория ".DIR_SRC_CATALOG." создана.<br>\n";
  • 08
    каждому классу по файлу
    каждый класс храни в отдельно созданном для него файле. именуй этот файл именем класса
  • 09
    отладочные сообщения
    прописываем отладочные сообщения в виде:
    Code:
    if(OUTPUT_MESSAGES){echo "\t".__line__.": создание временного файла '$patch_new_file'.<br>\n";}
  • 10
    помни созидающего, развлекающего и разрушающего
    При создании класса прежде всего обозначай пустые конструктор, клон и деструктор. Даже если они не нужны:
    Code:
    class newClass{ public function __construct(){} public function __clone(){} public function __destruct(){} }
    в дальнейшем, при добавлении чего либо в конструктор подумай, может стоит прописать это что-то и в клон?
  • 11
    разбивай адреса на части правильно
    При присвоении константам и переменным значений относительных путей слэш адреса ставить вначале, а не в конце адреса:
    Code:
    $full_patch_src="/public_html/my.domain/src";
    Code:
    $rel_patch_termins="/tpl/termins";
    тогда при объединении не произойдет казусов:
    Code:
    $full_patch=$full_patch_src.$rel_patch_termins; // "/public_html/my.domain/src/tpl/termins"
*правила хорошего кода от якава для якава