Как писать комментарии / документацию для переменных / полей / списков в VS 2010?

#c# #.net #visual-studio #visual-studio-2010 #xml-documentation

#c# #.net #visual-studio #visual-studio-2010 #xml-документация

Вопрос:

Существует

 ///<summary>
///This is summary for some class or method
///</summary>
 

документация для классов или методов. Но как написать это для простых переменных или списков?

Я использую Visual Studio 2010, и когда я навожу курсор на какой-либо список, свойство или что-либо еще, я хотел бы увидеть какое-то резюме (в этой маленькой подсказке), которое я написал для этой конкретной вещи.

 ///<doc>
///always use this list!
List<String> beer = new List<String>();
 

редактировать: хорошо, мы выяснили, что это работает как обычно, пока вы комментируете в своем классе, но ВНЕ метода или функции!!

Есть ли способ документировать / комментировать внутри метода?

 public class BeerForall
{
    /// <summary>
    /// it works here
    /// </summary>
    public List<String> beer = new List<string>();

    public String giveBeer()
    {
        /// is not working, u can not comment
        /// <summary>
        /// test test, not working
        /// </summary>
        List<String> moreBeer = new List<string>();

        return "beer";
    }
}
 

Комментарии:

1. Он отлично работает для всех свойств и полей, но, вероятно, не будет работать ни для одной переменной в функции?

2. черт, вы правы:/ не работает в методе. В классе вы можете документировать как обычно, но внутри метода / функции это не работает! Есть способ заставить это работать?

3. Да, это действительно работает для методов? Где определен ваш метод и откуда вы его вызываете? Если это отображается в intellisense, будут показаны комментарии. Иногда загрузка может занять всего несколько секунд.

4. Вы не можете документировать локальные переменные.

5. Упс. Не видел внутри метода, нет, это не работает.

Ответ №1:

Как упоминали другие, вы не можете получить IntelliSense для локальных переменных. Однако: если ваша функция настолько велика, что «обычный» комментарий недостаточно близок для чтения рядом с местом, где вы используете var, тогда правильным решением будет реорганизовать функцию — разбить ее на несколько меньших методов с меньшим количеством переменных. Я не думаю, что эта функция должна существовать, поскольку она будет служить только для облегчения написания чрезмерно больших функций.

Комментарии:

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

2. Рефакторинг кода хорош, но я не понимаю, как изъятие инструментов у программиста является полезной «функцией» для обеспечения соблюдения надлежащих методов кодирования. Черт возьми, я не думаю, что это работает, тот, кто написал кодовую базу, которую я поддерживаю сейчас, не сказал «о, боже, я не могу комментировать локальные переменные, так что это означает, что теперь я буду кодировать лучше». Кроме того, гипотетически, если это действительно было упущено для поощрения хорошего стиля кодирования, почему комментарии локальной переменной Intellisense работают для C / C , но не для C # в VS2013?

3. «Я не думаю, что эта функция должна существовать, поскольку она будет служить только для облегчения написания чрезмерно больших функций». Я думаю, что это должно существовать, если вы не можете переписать более 30 тыс. строк кода серверной части, с которой мне приходится иметь дело.

4. На самом деле мы документируем эти переменные, чтобы в первую очередь реорганизовать мега-методы, и отсутствие этой функции не помогает…

Ответ №2:

Кажется, отлично работает в Visual Studio 2010. Я определил список как частное поле с комментарием внутри моего класса MainForm.

Однако они не будут работать для локальных переменных, определенных в функциях.

введите описание изображения здесь

Комментарии:

1. в самом классе это работает. но попробуйте что-то документировать в методе. смотрите мой отредактированный первый пост

2. Да, это то, что я сказал в своем первом комментарии к вашему вопросу, вы не можете документировать переменные, определенные в самом методе.

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

Ответ №3:

Насколько я знаю, добавление комментариев для intellisense не будет работать для локальных переменных, объявленных в функциях. Если бы вы хотели сделать свой локальный список переменной экземпляра класса, вы могли бы это сделать.

Ответ №4:

Точно так же, как вы пишете резюме для классов, и методы работают для переменных.

Ответ №5:

Вы можете добавлять такие комментарии к документации XML к любому члену класса, а не внутри члена (метода, свойства и т. Д.).

Ответ №6:

Редактировать: похоже, <var> поддерживается только для JavaScript.

Начиная с Visual Studio 2012, вы можете добавить эту документацию, используя элемент <var> .

Вот документация Microsoft по этому поводу:
https://msdn.microsoft.com/en-us/library/hh542722 (v = против 110).aspx

Комментарии:

1. К сожалению, связанная документация применима только к Javascript. Я пробовал использовать <var> локальную переменную как таковую, никакого эффекта.