PHP: комментирование стандартов - PullRequest
11 голосов
/ 30 января 2012

Мне нужно комментировать огромное количество информации только в нескольких файлах, и когда я смотрю вокруг 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 ]

18 голосов
/ 30 января 2012

В общем, PHP, кажется, имеет много различных руководств по стилю ...

  1. стиль phpDocumentor
  2. Стиль Zend Framework
  3. Стиль груши

Но в целом, что нужно помнить о комментировании ... вы, вероятно, не хотите комментировать каждую строку в вашем коде,Вместо этого попытайтесь сделать ваш код читабельным 1 (как есть). И комментируйте (в основном,), когда вам действительно нужен кто-то еще, чтобы понять, что делает ваш код.

1 http://www.codinghorror.com/blog/2008/07/coding-without-comments.html

10 голосов
/ 30 января 2012

взято с 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

0 голосов
/ 30 января 2012

PHP комментирование является более вольным стилем, чем вы думаете. Однако причина, по которой действительно конкретные стандарты комментариев становятся важными, заключается в том, как они взаимодействуют с конкретными IDE для ускорения разработки. В этом случае вы сможете посмотреть, как IDE хочет, чтобы вы комментировали.

Обычно важно отметить, что такое функции @ param и что они возвращают

В этом вопросе и ответе о переполнении стека приведена полезная информация о правильном комментировании: Какой правильный формат документации по функциям PHP?

...