编辑
2025-02-03
C# 应用
00
请注意,本文编写于 92 天前,最后修改于 92 天前,其中某些信息可能已经过时。

目录

语法
编写有效摘要的指南
<summary>
<returns>
<param>
<exception>
<example>
<remarks>
<seealso>
结论

在项目开发中,文档和代码是两个重要的实体。其中,代码文档并不是简单地在代码中添加注释,而是使用一种特定的注释形式,即摘要。文档化代码不仅能提高代码的可读性,更能帮助开发者更快地理解代码的功能和目的。此外,这些摘要还能被文档生成应用程序利用,从而创建外部文档。摘要也得到了IntelliSense的支持,让开发者能够在方法或对象名称上悬停鼠标,以显示其定义的摘要。

语法

摘要用三条正斜杠(///)括起来,并直接放在类、方法、属性或任何其他代码成员的上方。

编写有效摘要的指南

编写有效摘要的基本原则是保持简短和清晰。解释代码的作用以及它解决的问题。以下是摘要中使用的各种标签。

<summary>

这个标签是用来概括代码块的主要作用和功能的。它可以让读者更快地了解代码的用途和内容。在上面的示例中,我们定义了一个名为Mobile的类,它包含多个属性,如ManufacturerModelBatteryLevel,还有一个常量MaxBatteryLevel和一个静态字段totalMobiles。通过阅读代码中的这些概述,读者可以更容易地理解这个类的目的和这些字段的性质。

C#
/// <summary> /// 表示一个移动设备类,包含制造商、型号和电池电量等属性。 /// </summary> public class Mobile { /// <summary> /// 移动设备的制造商。 /// </summary> public string Manufacturer { get; set; } /// <summary> /// 移动设备的型号。 /// </summary> public string Model { get; set; } /// <summary> /// 移动设备的电池电量。 /// </summary> public int BatteryLevel { get; set; } /// <summary> /// 最大电池电量常量。 /// </summary> public const int MaxBatteryLevel = 100; /// <summary> /// 记录所有移动设备的总数。 /// </summary> public static int totalMobiles = 0; }

<returns>

此标签用于返回值的方法,并指定方法的预期结果。

C#
/// <summary> /// 获取所有移动设备的总数。 /// </summary> /// <returns>返回移动设备的总数。</returns> public static int GetTotalMobileCount() { return totalMobiles; }

image.png

<param>

此标签用于接受参数的方法,并解释每个参数的目的或意义,帮助开发者正确使用它们。

C#
/// <summary> /// 初始化一个新的Mobile类实例。 /// </summary> /// <param name="manufacturer">移动设备的制造商。</param> /// <param name="model">移动设备的型号。</param> /// <param name="batteryLevel">移动设备的初始电池电量。</param> public Mobile(string manufacturer, string model, int batteryLevel) { Manufacturer = manufacturer; Model = model; BatteryLevel = batteryLevel; totalMobiles++; }

image.png

<exception>

此标签用于容易发生异常的方法,帮助开发者理解潜在的错误场景,并提供如何处理这些异常的指导。

C#
/// <summary> /// 为移动设备充电。 /// </summary> /// <param name="amount">充电量。</param> /// <exception cref="ArgumentOutOfRangeException">当充电量无效时抛出。</exception> public void ChargeMobile(int amount) { if (amount < 0 || BatteryLevel + amount > MaxBatteryLevel) { throw new ArgumentOutOfRangeException(nameof(amount), "充电量无效。"); } BatteryLevel += amount; }

image.png

<example>

此标签用于展示方法的实际使用情况,展示不同的场景,并向开发者展示如何有效地利用该方法。

C#
/// <summary> /// 重置电池电量为零。 /// </summary> /// <example> /// <code> /// Mobile mobile= new Mobile("Apple", "13", 100); /// mobile.ResetBatteryLevel(); /// </code> /// </example> public void ResetBatteryLevel() { BatteryLevel = 0; }

<remarks>

此标签用于提供额外的注释或信息,帮助开发者更好地理解代码。例如,它可以解释验证规则或提供有关属性的具体细节。

C#
/// <summary> /// 表示一个移动设备类,包含制造商、型号和电池电量等属性。 /// </summary> /// <remarks> /// 此类用于建模移动设备的属性和行为。 /// </remarks> public class Mobile { // 类的属性和方法 } /// <summary> /// 重置电池电量为零。 /// </summary> /// <remarks> /// 使用此方法时应谨慎,因为它会将电池电量设置为零。 /// </remarks> public void ResetBatteryLevel() { BatteryLevel = 0; }

image.png

<seealso>

此标签用于提供对代码其他部分的引用,帮助开发者更容易地导航,并快速访问相关的代码元素。需要注意的是,标签应写为****以创建对另一个代码元素的交叉引用。

C#
/// <summary> /// 发送一条消息。 /// </summary> /// <param name="message">要发送的消息。</param> /// <returns>如果消息发送成功,则返回true;否则返回false。</returns> /// <exception cref="ArgumentNullException">当消息为空或空字符串时抛出。</exception> /// <example> /// <code> /// Mobile mobile= new Mobile("Apple", "13", 50); /// bool result = mobile.SendMessage("Hello, World!"); /// </code> /// </example> /// <remarks> /// 此方法模拟从移动设备发送消息。 /// </remarks> /// <seealso cref="SendEmail(string)"/> public bool SendMessage(string message) { if (string.IsNullOrEmpty(message)) { throw new ArgumentNullException(nameof(message), "消息不能为空或空字符串。"); } // 模拟发送消息 return true; }

image.png

结论

使用C#的摘要标签可以提高代码的可读性和可维护性。清晰明了的文档有助于开发者更快地理解你的代码,减少错误,并提高开发效率。标签<summary><returns><param><exception><remarks><example><seealso>可以用来描述类、方法、属性、变量等代码元素,并提供清晰简洁的文档。

为了让代码库更加整洁,请在整个代码库中一致地使用摘要标签,并及时更新文档。良好文档化的代码不仅有益于个人,也有益于整个开发团队。

本文作者:rick

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!