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?

?>

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

Author: Brian Graham, 2012-01-30

3 answers

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

  1. Стиль phpDocumentor
  2. Стиль фреймворка Zend
  3. Грушевый стиль

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

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

 18
Author: summea, 2015-03-12 18:02:33

Взято из 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-документ

 10
Author: David Chan, 2012-01-30 22:09:50

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

Что важно, обычно помечает, что такое функции @param и что такое @return

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

 0
Author: Kristian, 2017-05-23 12:00:00