Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Как комментировать функции? (https://javascript.ru/forum/offtopic/35723-kak-kommentirovat-funkcii.html)

megaupload 20.02.2013 09:48

Как комментировать функции?
 
Мне кажется лучше делать так

//Отправляет сообщение
function sendMessage(){

}


//Отправить сообщение
sendMessage();


А как комментируете вы?

ksa 20.02.2013 10:07

Цитата:

Сообщение от megaupload
А как комментируете вы?

// Делает то-то
function primer(Val1,Val2,...,ValN){
   /*
   Val1 - означает то-то
   Val2 - означает то-то
   ...
   ValN - означает то-то
   */
}


// Сделать то-то
<последовательность_действий>;

danik.js 20.02.2013 10:14

/**
 * Создает экземпляр Circle.
 *
 * @constructor
 * @this {Circle}
 * @param {number} r Радиус окружности.
 */
function Circle(r) {
    /** @private */ this.radius = r;
    /** @private */ this.circumference = 2 * Math.PI * r;
}
 
/**
 * Создает новый экземпляр Circle по диаметру.
 *
 * @param {number} d Диаметр окружности.
 * @return {Circle} Новый объект Circle.
 */
Circle.fromDiameter = function (d) {
    return new Circle(d / 2);
};
 
/**
 * Подсчитывает длину окружности
 *
 * @deprecated
 * @this {Circle}
 * @return {number} Длина окружности.
 */
Circle.prototype.calculateCircumference = function () {
    return 2 * Math.PI * this.radius;
};
 
/**
 * Возвращает длину окружности, вычисленную заранее.
 *
 * @this {Circle}
 * @return {number} Длина окружности.
 */
Circle.prototype.getCircumference = function () {
    return this.circumference;
};
 
/**
 * Строковое представление объекта Circle.
 *
 * @override
 * @this {Circle}
 * @return {string} Информация об объекте Circle.
 */
Circle.prototype.toString = function () {
    return "A Circle object with radius of " + this.radius + ".";
};

ksa 20.02.2013 10:53

danik.js, интересно... Зачем * на каждой строке?
Теперь ведь почти каждый редактор подсвечивает коментарии... Т.е. их и так видно.

danik.js 20.02.2013 10:59

http://ru.wikipedia.org/wiki/JSDoc

danik.js 20.02.2013 11:03

Цитата:

Сообщение от ksa
Зачем * на каждой строке

Notepad++ например сам ставит их на каждой строке. Хотя может это из-за какого-то плагина.

ksa 20.02.2013 11:05

Цитата:

Сообщение от danik.js
Notepad++ например сам ставит их на каждой строке.

Мой не ставит... Стандартная установка с оф.сайта...

Gozar 20.02.2013 12:13

Коментирую только методы и очень неочевидные блоки. Остальное как сказано выше:
Цитата:

Сообщение от nasqad
имя функции должно отражать ее функционал


kobezzza 20.02.2013 12:31

Комментирую все функции по стандарту JSDoc GCC. Профит в том, что потом можно юзать GCC как валидатор коду + проще юзать advanced mode, а также по таким комментам легко делать генерацию доки в HTML.

Некоторые IDE, например WebStorm, умеют использовать такие доки для "умного" автокомплита, т.е. также как и у типизированных языков без необходимости подключения специальных библиотек.

megaupload 20.02.2013 13:08

Цитата:

Сообщение от ksa
Зачем * на каждой строке?

потому что это jsdoc


Цитата:

Сообщение от nasqad
Не комментирую функции, имя функции должно отражать ее функционал

а если английский не знаешь
Цитата:

Сообщение от kobezzza
Комментирую все функции по стандарту JSDoc GCC. Профит в том, что потом можно юзать GCC как валидатор коду + проще юзать advanced mode, а также по таким комментам легко делать генерацию доки в HTML.

Некоторые IDE, например WebStorm умеет использовать такие доки для "умного" автокомплита, т.е. также как и у типизированных языков без необходимости подключения специальных библиотек.

бро)


Часовой пояс GMT +3, время: 07:42.