Стиль программирования PHP
Каждый вебмастер, занимающийся разработкой сайтов на системах управления использующих PHP, рано или поздно сталкивается с необходимостью внесения изменений в чужой код или разработки собственных расширений для CMS. Регулярно сталкиваясь с чужим кодом, понял, что надо разработать для себя какие-то стандарты программирования, чтобы мой код был мне всегда понятен и очевиден. Именно так я узнал, что в PHP, как и в любом другом языке, существуют различные стили программирования.
Оказалось, что с появлением первых высокоуровневых языков сразу появились различные варианты оформления (форматирования) кода, которые в последствии стали полноценными стилями программирования. Всего выделяется четыре стиля программирования, стиль Керниген и Ричи, стиль Алмена, стиль Вайтсмита и стиль ГНУ (GNU). Все стили различаются разным расположением фигурных скобок:
- стиль Кернигена и Ричи
- стиль Алмена
- стиль Вайтсмита
- стиль ГНУ (GNU)
Для меня более понятным и привычным является стиль Кернигена и Ричи, который я взял за основу при форматировании кода. Что еще хотелось бы сказать, по поводу оформления кода.
Фигурные скобки
Я стараюсь всегда использовать фигурные скобки, где это необходимо. Например, часто в коде встречаются конструкции типа:
if($out) echo "Hello world!";
когда фигурные скобки сознательно убираются для сокращения вводимых символов. Когда же необходимо добавить еще одну конструкцию к оператору if часто возникают логические ошибки из-за того, что не были указаны фигурные скобки. Поэтому фигурные скобки я не сокращаю.
Тернарный оператор
Тернарным оператором пользуюсь часто, и очень понравилось, что тернарный оператор используется в Modx повсеместно. Он проще читается и быстрее обрабатывается, хотя сейчас это уже не так важно. Рекомендую его использовать, например:
$ID = (isset($docid)) ? $docid : $modx->documentIdentifier;
Комментарии
В коде предпочитаю использоваться комментарии в shell стиле или в C++ стиле, т.е.
<?php
# shell стиль комментариев
// C++ стиль комментариев
?>
, причем использую их до выполняемого оператора, а не после. Для меня это более наглядно и понятно, сначала понять идею, потом уже увидеть код ее реализующую. По поводу комментариев хотел бы отметить, что комментировать надо все и по максимуму. На практике, когда тебе приходится возвращаться к коду через год или два, оказывается, что ты его не помнишь или не понимаешь. Поэтому комментирование обязательно, даже если задача кажется элементарной, стоит оставить комментарий в двух словах.
Использование одинарных и двойных кавычек
На практике использую только одинарные кавычки. Причем не только, из-за того, что строки с одинарными кавычками обрабатываются быстрее, так как парсер PHP не вытаскивает из них переменные, но и потому что привычка к данному стилю программирования у меня из-за плохой читаемости кода при объединении конструкций HTML и PHP, когда возникает необходимость экранировать двойные кавычки:
$out = "<img src=\"$img\" alt=\"image\" />";
или более привычный для меня
$out = '<img src="'.$img.'" alt="image" />';
Второй код мне более нагляден и позволит совершить меньше ошибок.
Как бы то ни было, каждый разработчик сам выбирает свой стиль оформления кода, только помните, что вдруг ваш код будет кому-нибудь полезен. Подумайте заранее о тех, кому этот код придется разбирать.
Комментарии (0)