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?
?>
Знание правильного стиля важно. Это помогает другим людям понять, как работает ваш код, и как его использовать в будущем, если вы этого не объясняете.
Ответы
Ответ 1
В общем, PHP, похоже, имеет множество разных руководств по стилям...
Но в целом, что-то, что нужно запомнить о комментировании, - это... вы, вероятно, не хотите комментировать каждую строку в своем коде. Вместо этого попробуйте сделать свой код доступным для чтения 1 (как есть). И комментарий (в основном), когда вам действительно нужен кто-то другой, чтобы понять, что делает ваш код.
1http://www.codinghorror.com/blog/2008/07/coding-without-comments.html
Ответ 2
Взято из http://www.kevinwilliampang.com/2008/08/28/top-10-things-that-annoy-programmers/
Комментарии, объясняющие "как", но не "почему"
Курсы программирования на вводном уровне обучают студентов комментировать ранние и часто комментировать. Идея состоит в том, что лучше иметь слишком много комментариев, чем иметь слишком мало. К сожалению, многие программисты, похоже, возьмите это как личный вызов, чтобы прокомментировать каждую линию код. Вот почему вы часто увидите что-то вроде этого кода snippit взято из сообщения Джеффа Атвуда по кодированию без комментариев:
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
Ответ 3
PHP Комментарий больше фристайла, чем вы думаете. Тем не менее, причина, по которой действительно конкретные стандарты комментариев становятся важными, связана с тем, как они взаимодействуют с определенной средой IDE для ускорения разработки. В этом случае вы сможете посмотреть, как IDE хочет, чтобы вы комментировали.
Важно отметить, что функции @param и что они @возвращают
Вы можете увидеть хорошую информацию о правильном комментировании в этом вопросе о переполнении стека и ответить: Каков надлежащий формат документации по функциям PHP?