为什么我需要在C#/.Net代码中使用这些讨厌的注释?

为什么我需要在C#/.Net代码中使用这些讨厌的注释?,c#,.net,xml-comments,C#,.net,Xml Comments,我正在构建应用程序,其中一个要求是使用如下注释: /// <summary> /// Creates new client. /// </summary> /// <param name="uri">The URI.</param> /// <param name="param">The param.</param> /// <returns></returns> // ///创建新的客户端。 //

我正在构建应用程序,其中一个要求是使用如下注释:

/// <summary>
/// Creates new client.
/// </summary>
/// <param name="uri">The URI.</param>
/// <param name="param">The param.</param>
/// <returns></returns>
//
///创建新的客户端。
/// 
///URI。
///情人。
/// 
我知道各种工具很容易基于这些XML生成文档。但它显著降低了代码的可读性,而这正是我们人类努力实现的目标


这种方法可以被.Net中的任何其他技术所取代吗?还有什么更好的方法可以提高代码的可读性和清洁度呢?

当有人使用intellisense检查您的方法时,应该在visual studio上弹出这些信息。这将节省时间,因为无论谁使用您的代码,都不需要进入您的代码(因此,您也不需要公开任何代码)并查看您编写的其他注释

我认为,当文档保持简短和切中要害时,它从来都不是一件坏事,也不会影响代码的可读性

使用第三方dll时,intellisense是否会伤害您

我想没有。这是使用这种评论的主要原因之一


假设您正在纠正dll(或编写其他人将使用的类),当他/她键入时,他知道方法的作用以及参数的工作方式,这对他/她是否有帮助?

VS文档和注释不会降低大多数人的代码可读性,相反。如果您觉得这些注释降低了代码的可读性,您可以折叠它们,甚至更改它们所绘制的颜色


但是想想看,当你把光标放在一个函数上面,方法的信息和它的参数出现时,它是多么的有用。这是最好的可读性

您绝对不应该避免这些评论!它们为VisualStudio提供IntelliSense,并可以构成自动文档工具(如SandCastle)的基础。据我所知,就技术而言,您唯一的选择就是这个(获得所有这些特性)

为了提高可读性,您可以在VisualStudio中使用第一个标记旁边的[-]最小化每个注释。这样你只会看到第一行。这在日常处理代码时非常有用

我还发现导航下拉列表有助于在类中定位方法,如果您发现xml使导航/浏览更加困难


但是使用它们是一件好事,而且您已经习惯了使用它们,不同的文档格式适用于不同的场景

XML注释最适合自动生成帮助文件和Intellisense。必要时,它们比其他方法更详细,因为它们需要特定的标记来生成文档。虽然语法可能更好,但请记住,它们是在大家都认为XML是一个很酷的想法的时候创建的

对于一般的评论,您可以使用有文化的编程风格和工具,如创建和显示HTML页面。该工具提取注释并将其显示在HTML页面中,与代码一起显示。nocco页面本身是nocco.cs上nocco的输出

Nocco甚至使用降价来格式化


当然,您可以混合和匹配方法,例如,使用XML注释作为公共方法,读写注释作为内部注释。

“提高代码可读性和清洁度的更好方法是什么”编写自我解释且不使用许多注释的代码以什么方式降低代码可读性?它存在于方法本身之外,也可以在中折叠VisualStudio@wudzik:一个清晰的、不需要注释的实现和一个不费心记录公共API的实现之间有着巨大的区别。@wudzik:但是考虑到这个问题是关于文档(而不是实现)的,我看不出你的评论有什么关系。是的,当然,我理解。但同时,许多工具会自动为您粘贴所有这些xml注释(GhostDoc)。在一些公司,他们甚至懒得写更多的东西。他们可以自动生成这些评论。无论如何,我希望答案会像使用工具隐藏xml注释一样,或者以更好的方式组织它们。@RomanPushkin:你可以看看这个链接:也许你需要一些信息。xml注释不是为.NET项目生成文档的唯一方法,而且它们很难看。它们适用于Intellisense或API帮助文件生成,但不包括所有场景,如代码本身的文档,只包括公开的API。像nocco这样的工具解决了后一种情况,这正是在cshtml出现之前人们在aspx上的想法