问题标签 [self-documenting-code]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
96 浏览

c# - 自我记录 asp.net api

我在 VS2015 中创建了一个 Asp.net api。在 Areas>HelpPage>App_Start>HelpPageConfig.cs 我取消注释第 37 行

该项目的 App_Data 文件夹中没有 XmlDocument.xml,因此我使用在其他 api 中的自我记录 xml 中看到的标签创建了一个

但是在构建和/或运行应用程序时,xml 中没有任何内容。我的理解是,当启用此功能时,基于给定方法的每个 ///summary 的 XML sel 文档会为任何没有摘要但我找不到任何可以显式复制的公共方法提供智能感知警报此 xml 的摘要信息作为“成员”标签内的“成员”标签也不会发生。我错过了哪些步骤,我没有在互联网上的如何打开 APi 中的自我文档中看到?

0 投票
2 回答
158 浏览

php - PHP:使用数组键来识别函数参数

我用户定义了许多函数,其中一些有六个、十个甚至更多参数。当我忘记函数的参数是什么或它们的输入顺序时,阅读我的代码会变得很困难。我设计了一种方法来处理这个问题,用单个数组替换所有参数,并使用数组键作为标签每个论点。因此,例如,而不是

我现在有

调用此函数,而不是

现在看起来像

当只有三个参数时,这几乎没有必要,如本例所示,但在阅读具有六个或十个参数的函数的代码时,它可能非常有用!此外,如果我只需要为第十个参数传递一个值并在此之前为所有可选参数使用默认值,我可以在调用中省略那些其他参数,而不是为它们传递一系列参数, ''

这是一个hack,看起来有点丑。但它确实有助于使我的代码自我记录并且更易于阅读。

我知道有些 IDE 会给我参数提示,但我使用的是 Notepad++,它没有这样做。

这个想法在去年提出的一个类似问题中讨论过,PHP Function Arguments - Use an array or not? ,但该问题并未显示函数调用的外观,这是问题中最重要的部分。一些人在回答这个问题时说,一个函数永远不需要十个参数,而有这么多参数则表明设计不佳。我理解这种担忧,但有时算法只需要大量信息。

这种方法有什么问题,还是有更好的方法来自我记录这些函数调用?

0 投票
1 回答
114 浏览

doxygen - 我如何告诉 doxygen 一个函数是“自我记录的”?

我将 Doxygen 用于我的 (C++) 项目。

我有一些不言自明的功能,我不想添加任何评论或解释 - 但我确实希望作为文档的一部分出现。现在,如果我不写/** */块,这确实会作为 doxygen 的默认行为发生,但是 - 我在 Doxygen 的输出中收到警告:

我如何告诉 doxygen 没有此类功能的文档是可以的?

附加信息:

  • 我有EXTRACT_ALL = NO
  • 我在 Devuan ASCII (~= Debian Stretch) 上使用 Doxygen 1.8.13
0 投票
0 回答
22 浏览

python - 如何使用带有 str.format() 的自记录等于(调试)说明符?

Python 3.8=在 f 字符串中引入了说明符(请参阅此问题拉取请求)。

它允许快速表示变量的值和名称:

我想在预定义的字符串上使用此功能str.format()

但是,它引发了一个例外:

有没有办法让它工作(例如使用特殊的dunder方法)?

为什么它可能有用?

  • 可以为同一变量的多个值提供一个编程模板(在循环中)
    • 相比之下,f-strings 必须是硬编码的;考虑国际化
  • 可以在其文档字符串 () 中引用模块中定义的常量module.__doc__.format(**vars(module)
    • 解决方法:在模块末尾定义一个 f-string 变量,module.__doc__在运行时覆盖。