Существуют ли стандартные форматы комментариев в коде? - PullRequest
14 голосов
/ 23 апреля 2009

Мне интересно, есть ли у людей стандартный формат комментариев в их коде. Не такие вещи, как комментарии xml для метода или класса, а комментарии внутри метода.


Смотри также:

Существует ли стандарт (например, phpdoc или строка документации python) для комментирования кода C #?

Ответы [ 26 ]

23 голосов
/ 23 апреля 2009

Вы должны действительно рассмотреть пару вещей, чтобы сделать хорошие комментарии помимо форматирования.

  1. Не просто повторяйте то, что делает код. Например,
 // Start the services
 StartServices();

чертовски ужасный комментарий!

  1. Опишите почему . Почему код делает то, что делает? Что такое бизнес-допущение или алгоритм?

  2. Отформатируйте ваши комментарии для максимальной читабельности. Вкладывайте их правильно, оставляйте пробелы там, где это необходимо и т. Д.

  3. Если кто-то уже начал комментировать стандартным образом, не нарушайте этот стандарт.

  4. Проверьте эту статью на MSDN о написании эффективных комментариев: http://msdn.microsoft.com/en-us/library/aa164797.aspx

6 голосов
/ 23 апреля 2009
// I usually write comments like this

Там, где я работаю, требуется использовать стандартный стиль комментариев xml для большинства объявлений (классов, методов, некоторых свойств) (мы используем C #).

Иногда вы можете увидеть комментарии верхнего / нижнего колонтитула в использовании.

/****************************************************/
// Filename: Customer.cpp
// Created: John Doe
// Change history:
// 18.12.2008 / John Doe
// 14.01.2009 / Sara Smith
/****************************************************/

/* Here goes a lot of stuff */

/****************************************************/
// EOF: Customer.cpp
/****************************************************/

Нечто подобное использовалось на одном из моих старых рабочих мест. На мой взгляд слишком много ненужных вещей. История изменений хорошо видна в наши дни благодаря системе контроля версий.

Во многих хороших магазинах программного обеспечения есть внутренние инструкции относительно того, когда и как писать комментарии. Документы обычно называют «политикой стиля исходного кода» или чем-то подобным. При комментировании кода очень важно придерживаться одного общего стиля.

Конечно, эта комментирующая шумиха не должна заходить слишком далеко, чтобы комментировать каждый маленький кусочек кода, особенно очевидный.

/// <summary>
///     Handles the standard PageLoad event
/// </summary>
/// <param name="sender">
///    Event sender
/// </param>
/// <param name="e">
///    Event arguments
/// </param>
public void Page_Load (object sender, EventArgs e)
{
    // Do something here
}

Это хороший пример чрезмерной одержимости комментированием. Нечто подобное добавляет ровно ноль информации, но только добавляет шум в исходный файл. И мы должны делать это на работе по мере необходимости.

Мое личное мнение - добавлять комментарии, когда вам есть что сказать или объяснить, а не только ради того, чтобы все комментировать.

4 голосов
/ 23 апреля 2009
/**
 * block comments to document a method for javadoc go like this
 * @param
 * @return
 * @exception BTKException
 * @see BTK
 */
4 голосов
/ 23 апреля 2009

Прокомментируйте строку над кодом (блоком), который делает то, что вы описываете

// This is a comment.
Some code goes here

Избегайте таких вещей, как

// ----------------
// IMPORTANT COMMENT
// ----------------

И я избегаю использования

/* comment */

И, возможно, самое главное, очистить комментарии! Комментарий, описывающий несуществующую функциональность, хуже, чем вообще никакого комментария.

3 голосов
/ 23 апреля 2009

Не могу поверить, что мы пропустили ключевое слово REM.

Хотя, честно говоря, это ЗАМЕЧАНИЕ, а не КОММЕНТАРИЙ.

3 голосов
/ 23 апреля 2009

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

Как правило, комментарии внутри кода должны соответствовать четырем правилам:

  1. Они не должны утверждать очевидное
  2. Они должны соответствовать тому, что они описывают
  3. Должно быть ясно что они описывают (например, какая строка, блок).
  4. Они должны быть доступны для чтения любому будущему сопровождающему.

Это, как говорится, часто имеет тенденцию размещать информацию, которая важна для звонящих, как внутренний комментарий. Например: «OOPS, это не обрабатывает отрицательные числа». Всякий раз, когда вы видите внутренний комментарий, пересмотрите, следует ли обновлять документацию заголовка, или используйте инструмент, который «подталкивает» комментарии к осведомленности о вызывающих функциях ( У меня есть такой инструмент для Java ).

3 голосов
/ 23 апреля 2009
//For one line, I write them like this

/*
For multiple lines of text
I write them like this
*/

/*
for(multiple lines of code){
  I.WriteComents(With("//"));
  Reason==If(I.Remove('The top begin-quote mark') then
    I.Worry.Not('About removing the close-quote mark');
//*/
2 голосов
/ 23 апреля 2009
/* I will sometimes write
comments like this */
2 голосов
/ 23 апреля 2009
# ----------------------------------
# BIG IMPORTANT COMMENTS IN PERL/SH
# ----------------------------------
1 голос
/ 23 апреля 2009

Стандарты комментариев наиболее полезны, когда комментарий будет проанализирован внешним инструментом (обычно, генератором документов, таким как javadoc).

В этом случае внешний инструмент устанавливает стандарты.

О других случаях см. Как вам нравятся ваши комментарии? (Лучшие практики)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...