Что такое допустимые и читаемые подходы к комментариям в PHP5?

За последние 2 месяца, что я изучал PHP, я определил более двух стилей, которые люди используют для комментариев кода! Я не видел много консистенции … что, я думаю, обычно означает, что художники на работе . Поэтому я задавался вопросом: каковы допустимые способы комментариев, которые по-прежнему доступны для чтения / практического? Увидев все допустимые возможности в одном месте рядом, вы получите обзор, который я ищу, чтобы улучшить комментирование

/* | This is what I now use (5chars/3lines) I name it star*wars \* 

Цитирование Руководства по комментариям:

PHP поддерживает комментарии «C», «C ++» и Unix shell-style (Perl style). Например:

 <?php echo 'This is a test'; // This is a one-line c++ style comment /* This is a multi line comment yet another line of comment */ echo 'This is yet another test'; echo 'One Final Test'; # This is a one-line shell-style comment ?> 

В общем, вы захотите избежать использования комментариев в исходном коде . Процитировать Мартина Фаулера:

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

что означает что-то вроде

 // check if date is in Summer period if ($date->after(DATE::SUMMER_START) && $date->before(DATE::SUMMER_END)) { 

следует переписать на

 if ($date->isInSummerPeriod()) { … 

Другой тип комментария, с которым вы иногда сталкиваетесь, – это комментарий разделителя, например, что-то вроде

 // -------------------------------------------- 

или

 ################################################ 

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

Что касается документов API, то общая нотация – PHPDoc , например

 /** * Short Desc * * Long Desc * * @param type $name description * @return type description */ public function methodName($name) { … 

Я бы сказал, что вы можете опустить Short и Long Desc, если остальная сигнатура метода четко сообщает, что она делает. Однако для этого требуется определенная дисциплина и знания о том, как писать чистый код . Например, следующее совершенно излишне:

 /** * Get the timestamp property * * The method returns the {@link $timestamp} property as an integer. * * @return integer the timestamp */ public function getTimestamp() { … 

и следует сократить до

 /** * @return integer */ public function getTimestamp() { … 

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

Вы должны обязательно использовать стандарты phpdoc. Вот быстрый старт для начинающих.

Я уверен, что вы видели такие комментарии:

 /** * example of basic @param usage * @param bool $baz * @return mixed */ function function1($baz) { if ($baz) { $a = 5; } else { $a = array(1,4); } return $a; } 

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

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

Будучи выделены серым цветом, они всегда видны и отличаются от другого кода.
Я не видел ни одной проблемы с читабельностью комментариев до

Для комментирования довольно часто используется руководство phpdoc. Сюда входят аннотации для создания документации.