PHP: Стандарты комментирования
Мне нужно прокомментировать огромное количество информации всего в нескольких файлах, и когда я просматриваю Google и здесь, в SO, я продолжаю находить результаты, соответствующие coding standards
, когда мне нужны стандарты комментариев. Мое кодирование соответствует большинству стандартов кодирования, за исключением случаев, когда дело доходит до комментариев.
Не мог бы кто-нибудь привести примеры для следующего?
<?
// beginning of file comments
require( 'filename.php' ); // require or include, with filename
public class Test { } // class without constructor
public class Test // class with constructor, if different from above
{
public function __constructor() { } // constructor, no parameters
public function __constructor(var1, var2) { } constructor, with parameters
public function func1() { } // function, no parameters
public function func2($var1, $var2) { } // function, with parameters
public function func3( $optional = '' ) { } // function, optional parameters
private function func4() { } // private function, if different from above
public static staticfunc1() { } // public static function, if different from above
public function returnfunc1(var1, var2) // function, with return value
{
return var1 + var2; // return statement, dynamic
}
public function returnfunc2() // function, with unchanging return value, if different from above
{
return 1; // return statement, unchanging, if different from above
}
public function fullfunc1() // declaration, calling and assignment, in function
{
$var1; // variable declaration
$arr1 = array(); // array declaration, if different from above
$var2 = dirname( __FILE__ ) . '/file.ext'; // variable assignment
$this->var1 = $path . '_'; // class variable assignment
ob_start(); // function call
$this->func1(); // class function call
ob_end_clean();
foreach($arr as $key => $val) { } // foreach and for loops
}
public $var1; // public variable
private $var2; // private variable, if different from above
}
// ending of file comments?
?>
Важно знать правильный стиль. Это помогает другим людям понять, как работает ваш код и как его использовать в будущее, если вас там не будет, чтобы объяснить это.
3 answers
В целом, PHP, похоже, имеет множество различных руководств по стилю...
Но в целом, о комментировании стоит помнить... вероятно, вы не хотите комментировать каждую строку в своем коде. Вместо этого попробуйте сделать свой код читабельным1 ( как есть.) И комментируйте (в основном,), когда вам действительно нужен кто-то другой, чтобы понять, что такое ваш код делать.
1http://www.codinghorror.com/blog/2008/07/coding-without-comments.html
Взято из http://www.kevinwilliampang.com/2008/08/28/top-10-things-that-annoy-programmers/
Комментарии, которые объясняют "как", но не "почему"
Курсы программирования начального уровня учат студентов комментировать рано и часто. Идея в том, что лучше иметь слишком много комментариев, чем слишком мало. К сожалению, многие программисты, похоже , воспринимают это как личный вызов комментировать каждую строку кода. Вот почему вы часто увидите что-то вроде этого фрагмента кода, взятого из поста Джеффа Этвуда о кодировании без комментариев:
r = n / 2; // Set r to n divided by 2 // Loop while r - (n/r) is greater than t while ( abs( r - (n/r) ) > t ) { r = 0.5 * ( r + (n/r) ); // Set r to half of r + (n/r) }
У вас есть какие-нибудь идеи о том, что делает этот код? Я тоже. Проблема в том, что, хотя существует множество комментариев, описывающих, что делает код, нет ни одного, описывающего, почему он это делает.
Теперь рассмотрим тот же код с другой методологией комментирования:
// square root of n with Newton-Raphson approximation r = n / 2; while ( abs( r - (n/r) ) > t ) { r = 0.5 * ( r + (n/r) ); }
Намного лучше! Мы все еще можем не совсем понимать, что происходит здесь, но, по крайней мере, у нас есть отправная точка.
Комментарии должны помочь читателю понять код, а не синтаксис. Справедливо предположить, что читатель имеет базовое представление о том, как работает цикл for; нет необходимости добавлять комментарии , такие как "//повторять список клиентов". С чем читатель не будет знаком, так это с тем, почему ваш код работает и почему вы решили написать его так, как вы это сделали.
Также... phpdoc-документ
PHP-комментирование - это более свободный стиль, чем вы можете подумать. Однако причина, по которой действительно конкретные стандарты комментариев становятся важными, заключается в том, как они взаимодействуют с конкретными IDE для ускорения разработки. В этом случае вы сможете посмотреть, как среда разработки хочет, чтобы вы прокомментировали.
Что важно, обычно помечает, что такое функции @param и что такое @return
Вы можете увидеть некоторую полезную информацию о правильном комментировании в этом вопросе о переполнении стека и ответ: Каков правильный формат документации по функциям PHP?