Какой метод комментирования объектов и методов JavaScript является предпочтительным?

Я привык к атласу, где предпочтительным (насколько я знаю) методом является использование комментариев xml, таких как:

/// <summary>
///   Method to calculate distance between two points
/// </summary>
///
/// <param name = "pointA">First point</param>
/// <param name = "pointB">Second point</param>
/// 
function calculatePointDistance(pointA, pointB) { ... }

Недавно я изучал другие сторонние библиотеки javascript и вижу такой синтаксис:

/*
 * some comment here
 * another comment here
 * ...
 */
 function blahblah() { ... }

В качестве бонуса, пожалуйста, дайте мне знать, есть ли какие-либо генераторы API для JavaScript, которые могли бы читать «предпочтительный» стиль комментариев.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
59
0
60 445
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Использование тройного комментария в первом примере фактически используется для внешних инструментов документации XML и (в Visual Studio) для поддержки intellisense. Это все еще действующий комментарий, но особенный :) Актуальный 'оператор' комментария // Единственное ограничение - это одна строка.

Во втором примере используется блочное комментирование в стиле C, которое позволяет комментировать несколько строк или в середине строки.

Righto - и я недавно прочитал, что он постепенно прекращается (по крайней мере, для поддержки JS), поэтому я задал этот вопрос. Спасибо!

EvilSyn 24.09.2008 17:28
Ответ принят как подходящий

Есть JSDoc

/**
 * Shape is an abstract base class. It is defined simply
 * to have something to inherit from for geometric 
 * subclasses
 * @constructor
 */
function Shape(color){
 this.color = color;
}

Попробуйте вставить следующее в файл javascript в Visual Studio 08 и поэкспериментируйте с ним:

var Namespace = {};
    Namespace.AnotherNamespace = {};

Namespace.AnotherNamespace.annoyingAlert = function(_message)
{
    /// <param name = "_message">The message you want alerted two times</param>
    /// <summary>This is really annoying!!</summary>

    alert(_message);
    alert(_message);
};

Intellisense в изобилии!

Более подробную информацию об этом (в том числе о том, как ссылаться на внешние javascript-файлы для использования в больших библиотеках) можно найти на Блог Скотта Гу.

Yahoo предлагает YUIDoc.

Он хорошо документирован, поддерживается Yahoo и является приложением Node.js.

Он также использует во многом один и тот же синтаксис, поэтому не нужно будет вносить много изменений, чтобы перейти от одного к другому.

Чем проще тем лучше, комментарии хорошие, пользуйтесь :)

var something = 10; // My comment

/*
Lorem ipsum dolor sit amet, consectetur adipisicing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco
nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor
in reprehenderit in voluptate velit esse cillum dolore eu
fugiat nulla pariatur.
*/

function bigThing() {
    // ...
}

Но для автогенерированного документа ...

/**
 * Adds two numbers.
 * @param {number} num1 The first number to add.
 * @param {number} num2 The second number to add.
 * @return {number} The result of adding num1 and num2.
 */
function bigThing() {
    // ...
}

Я не согласен с утверждением «чем проще, тем лучше», вам следует установить надстройку комментирования в своей среде IDE для автоматической генерации второго стиля, потому что это намного полезнее

vsync 24.01.2019 14:33

Другие вопросы по теме