Каково правильное/каноническое форматирование длинных строк JSDoc?

Все официальные примеры JSDoc имеют наивно простые строки документации, такие как следующие:

/**
 * @param {string} author - The author of the book.
 */

Проблема в том, что в реальной документации часто используются более длинные строки документации:

/**
 * @param {string} author - The author of the book, presumably some person who writes well
 */

Но так как большинство компаний (из законных соображений удобочитаемости) имеют ограничения на длину строки, указанное выше часто неприемлемо. Однако я не могу понять, каким должен быть «правильный» способ разбить эти строки.

Я мог бы сделать:

/**
 * @param {string} author - The author of the book, presumably some
 * person who writes well
 */

Но это трудно читать. Вместо этого я мог бы сделать:

/**
 * @param {string} author - The author of the book, presumably some
 *                          person who writes well
 */

Это выглядит лучше, но может привести к куче строк, особенно если у параметра длинное имя:

/**
 * @param {string} personWhoIsTheAuthorOfTheBook - The author of the
 *                                                 book, presumably
 *                                                 some person who
 *                                                 writes well
 */

Итак, мой вопрос: каков правильный/официальный/канонический способ форматирования длинных строк @param (в коде, а не в сгенерированном JSDoc)... или действительно любых длинных строк аннотаций, если на то пошло.


person machineghost    schedule 05.06.2015    source источник


Ответы (1)


Есть два правильных способа работы с разрывами строк в JSDoc. Первый, по-видимому, используемый Google, заключается в отступе строк после первой:

/**
 * @param {string} author - The author of the book, presumably some
 *     person who writes well and does so for a living. This is
 *     especially important for obvious reasons.
 */

Это из Руководства по стилю Google Javascript: http://google.github.io/styleguide/javascriptguide.xml?showone=Comments#Comments

Второй основан на том факте, что JSDoc является производным от JavaDoc, что похоже на ваш второй пример. См. следующую ссылку для примеров JavaDoc: http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html#styleguide

Я бы порекомендовал использовать метод отступов — я думаю, что это хорошее сочетание читабельности и отсутствия очень коротких строк.

person saraf.gahl    schedule 20.06.2015