Как вы документируете анонимные функции? [закрыто
-
24-09-2019 - |
Вопрос
Я специально со ссылкой на анонимную функцию JavaScript, но это может иметь отношение к другим языкам. Мне нравится использовать записи JSDOC в моих сценариях, потому что я знаю, что другие люди будут взломаны на нее рано или поздно. Когда у меня довольно сложная анонимная функция, как люди документируют его так, чтобы он получил затмение Eclipse и других IDE, которые понимают JSDOC или JavadoC нотации?
/**
* Blah Blah blah
*
* @param Object Blah blah blah
* @return Blah Blah Blah
* @type Object
*/
function foo(this) {
......
this.bar = function () { ... complex code .....};
......
return obj;
}
Спасибо
Решение
В идеале анонимная функция должна быть короткими и выполнена простым заданием. Итак ... внешняя функция, которая содержит ее, должна обеспечивать достаточную документацию.
Если это не так, вы, вероятно, должны извлекать анонимную функцию в именованную функцию, а затем правильно документировать ее.
Другие советы
Это не очень анонимная функция. У него есть имя. Название «бар», или, более конкретно, «Foo.bar». Что это на самом деле, к моему образу мышления, является функцией литерала. К моему образу задуматься, действительно анонимная функция - это функция, которая действительно не имеет имени, как аргумент к другой функции:
var intervalId = setTimeout(function() { // statements }, 1000);
Теперь, по словам Дэвида Фланагана в JavaScript: окончательное руководство, Анонимная функция - это то, что «создана с функцией () конструктором». Однако он хеджирует его ставки там, потому что он продолжает утверждать, что такие функции только «иногда» называются анонимными.
Почему я поднимаю эту проблему здесь? Потому что я думаю, что если у вас есть имя для чего-то, это не может быть названо анонимным. И я думаю, что термин «анонимный» в отношении функций JavaScript неоднозначен в лучшем случае, и должен, по крайней мере, уточнить кого-то где-то.
Делая его не анонимным.
Я нахожу лучший способ документировать что-то состоит в том, чтобы не. То, что я имею в виду II, используйте хорошие имена переменной / функции и четкий код в качестве моим документом.
Таким образом, в этом случае я просто создал статическую функцию, которая создает, что анонимно и, таким образом, я могу дать это статическую функцию хорошее имя.