Цитирование руководства по комментариям:
PHP поддерживает комментарии 'C', 'C ++' и Unix в стиле оболочки (стиль Perl). Например:
<?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. Важно только то, что, что бы вы ни решили делать, делайте это последовательно.