我想知道人们的代码中是否有标准的评论格式。不是像方法或类的xml注释,而是在方法中注释。
Is there a standard (like phpdoc or python’s docstring) for commenting C# code?
答案 0 :(得分:23)
除了格式化之外,你应该考虑做一些好的评论。
// Start the services StartServices();
是一个可怕的评论!
描述 为什么 。为什么代码正在做它正在做的事情?什么是业务假设或算法步骤?
格式化您的评论以获得最大可读性。正确地标记它们,在必要时留出空间等。
如果某人已经开始以标准方式发表评论,请不要违反该标准。
在MSDN上查看有关撰写有效评论的文章:http://msdn.microsoft.com/en-us/library/aa164797.aspx
答案 1 :(得分:6)
// 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
}
这是一个过度迷恋评论的好例子。像这样的东西只添加零信息,但只会增加源文件的噪音。我们必须按照要求在工作中这样做。
我个人的意见是当你有话要说或解释时添加评论,而不仅仅是为了评论一切。
答案 2 :(得分:4)
对代码(块)上方的行进行注释,以执行您所描述的内容
// This is a comment.
Some code goes here
避免做像
这样的事情// ----------------
// IMPORTANT COMMENT
// ----------------
我避免使用
/* comment */
也许最重要的是,清理评论!描述不存在的功能的评论比根本没有评论更糟糕。
答案 3 :(得分:4)
/**
* block comments to document a method for javadoc go like this
* @param
* @return
* @exception BTKException
* @see BTK
*/
答案 4 :(得分:3)
方法(而不是界面)中的注释问题是,除了维护该方法的人之外,任何人都不应该看到它们。因此,没有真正需要评论的标准。它们不会在任何地方发布,它们不会公开显示,呼叫者通常永远不会看到它们。
通常,代码中的注释应遵循以下四条规则:
话虽如此,通常会倾向于将对呼叫者重要的信息作为内部评论。例如:“OOPS,这不处理负数”。每当您看到内部评论时,都会重新考虑是否应更新标题文档,或者使用“推送”评论的工具来提醒函数调用者(I have a tool like that for Java)。
答案 5 :(得分:3)
//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');
//*/
答案 6 :(得分:3)
我无法相信我们错过了REM关键字。
虽然公平,但这不是评论。
答案 7 :(得分:2)
/* I will sometimes write
comments like this */
答案 8 :(得分:2)
# ----------------------------------
# BIG IMPORTANT COMMENTS IN PERL/SH
# ----------------------------------
答案 9 :(得分:1)
' I usually write comments like this
答案 10 :(得分:1)
当评论将由外部工具(通常是文档生成器,如javadoc)解析时,注释标准最有用。
在这种情况下,外部工具将说明标准。
答案 11 :(得分:1)
//Cheap Debugger
//Response.Write(MySQLStringBecauseINeedToKnowWhatsBroken);
答案 12 :(得分:1)
<!--How about comments like this!?-->
答案 13 :(得分:0)
在这个问题上可能会发生宗教战争。
我试图做的,不会导致过多的战争,
// explain the purpose of the following statement in functional terms
... some statement ...
我的想法是,如果我通过删除除注释之外的所有内容的程序运行代码,剩下的就是非常好的伪代码。
用于评论您认为可能需要的代码的方法非常有用:
/*
... some code ...
/**/
然后修改第一行 - 删除它,或将其更改为/ ** /
/**/
... some code ...
/**/
答案 14 :(得分:0)
如果你是偏执狂,不使用或信任源代码控制,你可以这样做
// Initials-YYMMDD-fixNo-Start
dosomething();
// Initials-YYMMDD-fixNo-Finish
它造成了一场血腥的大混乱,但它为你提供了一些回滚变化的方法。
但我建议使用源代码控制
答案 15 :(得分:0)
/*
* Brief summary of what's going on.
*/
int code_that_goes_on(int c)
{
/* and then if I have to remark on something inside... */
return 0;
}
99%的编译器会支持//
评论,这很棒,但1%的评论仍然存在,并且为他们创造生活宜居并不困难。
答案 16 :(得分:0)
我喜欢这样做:
/************
* Comment *
************/
这样我每次添加/删除文本时都不得不浪费时间重新格式化整个块
答案 17 :(得分:0)
我认为你所要求的标准并不存在。我不知道如何从方法本身的///评论中添加任何好处。
要从C#类创建文档,请查看Sandcastle。
答案 18 :(得分:0)
(* Modula-2 comments go like this *)
答案 19 :(得分:0)
在C / C ++ / C#/ Java中,当我有一个解释代码块的注释时:
// comment
code;
more_code;
当评论解释一行时:
code; // comment
我通常使用//
用于单句评论,并使用/* ... */
评论多句评论。
答案 20 :(得分:0)
C ++ / Java等中的一种评论风格是:
// Use // for all normal comments...
// and use multiline comments to comment out blocks of code while debugging:
/*
for(int i = 0; i < n; ++i) {
// If we only use // style comments in here,
// no comment here will mess up the block comment.
}
*/
我认为这是一个有趣的观点,即使它不是非常有用。
答案 21 :(得分:0)
我的代码是自我记录的。我不需要评论。
答案 22 :(得分:0)
有些软件包可以帮助编写和格式化文档。它们需要一些特定的更改,以便识别评论类别。
如doxygen:
http://www.doxygen.nl/manual/docblocks.html
/*! \brief Brief description.
* Brief description continued.
*
* Detailed description starts here.
*/
答案 23 :(得分:0)
我很惊讶没有人推荐doxygen。这是一种记录代码的好方法,副作用是它可以在一天结束时自动生成html + pdf API文档。
答案 24 :(得分:0)
我更喜欢用这种方式评论功能
/**
* Activates user if not already activated
* @param POST string verificationCode
* @param POST string key
* @return true on success, false on failure
* @author RN Kushwaha <rn.kuswaha@gmail.com>
* @since v1.0 <date: 10th June 2015>
*/
public function activateUserAccount(){
//这里有一些代码
}
我对
等代码描述使用单行注释//check if verificationCode exists in any row of user table
code here
答案 25 :(得分:0)
您可能至少要考虑对PHP Reflection类使用标准注释格式:https://www.php.net/manual/en/reflectionclass.getdoccomment.php
我的网站压缩html,所以像 //在这里评论 在JS中将使Java脚本崩溃。 在PHP中使用//的规范仅应作为“简短注释”,即:一行。我个人认为它们不应该用于多个行。
使用它们还使其无法压缩-或压缩起来比应压缩的要困难得多。
最后。
人的解释不是绝对的-计算机代码是:)
因此,如果您有需要或应该阅读的代码-(请放心),不要对其进行注释。即:强迫读者阅读代码,而不是依靠他们对注释的解释。
答案 26 :(得分:-1)
- 我经常写这样的评论
SQL中的