我应该如何记录继承的成员? [关闭]

2024-01-07

考虑一下我有一个复杂的类结构,其中许多元素继承自其他元素。我可能有一个方法GetStuff(string stuffName, int count)在接口中定义,该接口由其他接口继承,然后由抽象类抽象实现,然后在具体类中显式实现,等等......

我应该如何处理继承的成员,例如GetStuff()当用 XML 注释记录我的代码时,这些注释将与 Doxygen 或 Sandcastle 等工具一起使用?在每个级别复制并粘贴相同的描述似乎是错误的。我是否应该在界面级别和具体类级别考虑不同的受众?例如,接口处的 GetStuff() 文档可能会考虑实现该接口的人,而具体级别的文档可能会考虑将使用该类的人?


  • 记录接口方法根据其代码合同。不要评论它的实现,只评论它的语义目的,即它应该做什么,而不是如何做。本文档的受众是both你的实施者and您的用户:该方法将被实现并被调用。

  • 记录抽象方法只需说它实现了接口方法并链接到它即可。对此没有什么额外可说的,并且重复注释违反了 DRY(不要重复自己)原则:您必须记住在以下位置对其进行任何更改:both地方。 (当然,对于不实现接口方法的抽象方法,请以与记录接口方法相同的方式记录它。)

  • 记录具体实施通过说它实现了接口方法和/或它覆盖了抽象成员。 (可选)添加有关其实现的信息如果它与调用者相关——例如,它的性能特征,或者它可能抛出的情况等。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我应该如何记录继承的成员? [关闭] 的相关文章

随机推荐

  • 使用表单身份验证的 MVC3 中的简单授权

    我正在尝试做 MVC3 中应该很简单的事情 我有一个使用表单身份验证通过第三方 SSO 对用户进行身份验证的应用程序 成功登录后 SSO 会发回我的应用程序上的特定控制器操作 然后我打电话FormsAuthentication SetAut
  • query.startAt 数据库规则权限被拒绝

    似乎是query startAt规则被破坏了 或者我不明白 有人可以确认吗 这是最小的可重现误差 实例 https querystartaterror firebaseapp com 使用 CTRL SHIFT i 打开 Chrome 控制
  • 使用 NewtonSoft 将 JSON 对象反序列化为 .Net 对象

    我有一个 json 对象 我想将其反序列化为其 Net 类型而不进行强制转换 我想我在文档中的某个地方读到 您可以将属性传递到 json 中 以告诉反序列化器它可以尝试转换的 Net 对象类型 我找不到我读这篇文章的地方 我想避免使用 va
  • 一些字符坚持我在 Python cmd 中的彩色提示

    我在用Python 2的cmd模块 https docs python org 2 library cmd html为程序创建命令行 只要我不为提示添加颜色 一切都会很好地工作 工作代码 from cmd import Cmd class
  • Woocommerce 德国化将条款和条件复选框移至提交前

    我正在尝试将 WC 结帐中的复选框从付款信息之前移动到提交按钮之前 我已使用以下命令在提交按钮之前成功添加了另一组复选框 add action woocommerce review order before submit woocommer
  • gmaps4rails:未捕获的引用错误:Gmaps 未定义

    我想通过 Gmaps Rails gem 将地图包含到我的 Rails 应用程序中 我使用带有资产管道的 Rails 3 2 11 按照此 gem 的设置说明进行操作https github com apneadiving https gi
  • 实体框架 - 无法创建 x 类型的常量值。此上下文中仅支持原始类型。

    我有以下内容 工程师模型 public class engineers public Guid Guid get set public string Name get set 我用正确的详细信息填写了工程师列表 List
  • 防止Button继承Parent的BackColor

    当我有一个父控件时BackColor以外SystemColors Control 但我在父控件上有按钮 我想在系统中绘制它们 但是 当我不改变BackColor按钮的颜色以父级的颜色绘制 当我改变BackColor按钮的SystemColo
  • 将 MySQL innodb 数据库加载到内存中

    我有一个 1 9GB 的 MySQL innodb 数据库 通过以下命令显示 SELECT table schema Data Base Name sum data length index length 1 048 576 as Data
  • 对 ignite 端口的 DoS 攻击

    我使用的ignite是嵌入式的 ignite使用两个端口 当我测试端口的dos攻击时 ignite出现java lang OutOfMemoryError Direct buffer memory 2021 12 01 14 12 59 0
  • malloc 错误 C++ [重复]

    这个问题在这里已经有答案了 可能的重复 malloc c 3074 错误 https stackoverflow com questions 1097995 malloc c3074 error 我在执行 C 代码时遇到这个奇怪的错误 ma
  • 具有嵌套命名空间的 Rails 4 引擎

    我找不到一种方法来生成在 Rails 下具有嵌套命名空间的引擎 每次这样做时 我基本上都必须手动编辑和移动生成的文件 Rails 中真的不支持嵌套命名空间吗 似乎不太可能 在公司 我们对所有内容进行命名 如下所示 公司名称 服务名称 模块
  • 在 Sass 中为数字添加单位

    我正在尝试创造动态价值 但到目前为止都失败了 创建的像素值似乎失去了用于计算的能力 numericValue 30 pixelValue numericValue px also tried pixelValue numericValue
  • 链接具有公共静态库的静态库的正确过程是什么?

    我正在开发一个静态库 名为Silicon https github com reidmain Silicon 我用于所有 iOS 应用程序 因为我不想创建一个可能难以维护的大型静态库 所以我创建了许多较小的静态库 并将它们作为子模块附加 截
  • UINavigationController 的 addChildViewController 和 topViewController 之间的相互作用

    我有类似模态视图控制器的东西 我需要将其显示在其他视图控制器上方 我没有使用常规模态控制器功能 presentViewController 和朋友 因为我需要更好地控制这个过程 相反 我使用视图控制器包含功能 addChildViewCon
  • 检测 iPhone 屏幕上的亮点/暗点

    我想检测并标记图像上最亮和最暗的点 例如 我正在创建 AVCaptureSession 并使用 AVCaptureVideoPreviewLayer 在屏幕上显示视频帧 现在 在这个相机输出视图上 我希望能够标记当前最暗和最亮的点 我必须读
  • IE框架边框替代

    对于这行代码 我收到此错误 validator w3 org XHTML 1 0 Transitional there is no attribute frameBorder 我在用着frameBorder因为 IE8 在 iframe 上
  • 有人使用 Android NDK 构建过 ZBar 吗?

    我正在尝试将 ZBar 集成到我的 Android 应用程序中 但无法构建本机库 我想知道是否有人以前做过并愿意与我分享 我知道这个问题很老了 但是 ZBar 提供了 android SDK http sourceforge net pro
  • 可以使用单个正则表达式来解析函数参数吗?

    Problem 有一个程序文件 在文件中的某个位置包含以下代码片段 food apples oranges pears tomato 该函数可以包含任意数量的参数 但它们必须是用逗号分隔的字符串 所有参数字符串都是小写单词 我希望能够使用正
  • 我应该如何记录继承的成员? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 考虑一下我有一个复杂的类结构 其中许多元素继承自其他元素 我可能有一个方法GetStuff string stuffName int count