标签: documentation

提高代码可读性

在代码文档方面,通常认为代码应该自行解释,内联代码文档(不包括公共API文档)应该只解释元代码问题,例如变通方法,为什么选择特定实现的解释等等.

如何使您的代码更具可读性并更多地解释自己


编辑: 除了一般评论,我也在寻找具体的提示.因此,如果您说"简短但有意义的变量名称",那么也可以获得有用的提示(例如"使用三字原则").

language-agnostic documentation readability

24
推荐指数
4
解决办法
1万
查看次数

强氧,太重了维持?

我目前正在开始使用doxygen来记录我的源代码.我注意到语法非常繁重,每次我修改源代码时,我还需要更改注释,我真的有这样的印象,即在源代码中为每个更改修改注释时要花太多时间.

您是否有一些技巧可以有效地记录我的源代码?

是否存在doxygen执行以下操作的某些编辑器(或现有编辑器的插件)?

  • 自动跟踪不同步的代码/注释,并警告程序员.
  • 每个新项目的源代码(模板)中自动添加doxygen注释格式(例如,带有参数名称的模板)

PS:我正在开发一个C/C++项目.

c c++ documentation performance doxygen

24
推荐指数
3
解决办法
9024
查看次数

doxygen是(事实上的)标准文档语法规范吗?

我们都有记录代码的好习惯,对吧?

如今,代码内文档本身就有一种语法.它几乎就像一种编程语言.问题是:

  • 存在多少(多少)文档语法规范
  • 是否有标准的文档语法?
  • 谁在定义这个标准?是否有一个官方委员会或机构(就像有一个定义C++标准)?
  • 或者"doxygen"成为事实上的标准?

很难不听说doxygen.在我参与的每个开源软件项目中都提到过.但是,看看官方的doxygen网站,doxygen定义任何规格都是显而易见的! 当我读到"它可以帮助我的方式"时,我得到的印象是,doxygen只是一个提取代码内文档并将其呈现在漂亮的HTML页面中的软件.看看doxygen首页,我甚至认为doxygen可以使用第三方规范中定义的任何文档语法并将其解压缩并输出为HTML.

而且,有趣的是,doxygen的网站,并没有利用这个词doxygen的,就好像它是没有品牌的软件,而是一个普通名词(当然,是吗?)

什么是doxygen真的吗?

  • 解析引擎?
  • HTML渲染引擎?
  • 一个可以被第三方软件用来呈现自己的文档的库?
  • 文档语法(事实上)规范
  • 上述所有的?

我对doxygen和其他代码解析器之间的关系特别感到困惑,比如ANTLR,boost-spirit,Ragel ......

例如,什么是doxygen可以做的,ANTLR不能,而ANTLR可以做氧吗?

另外,看看Drupal项目.他们有:

  • 他们自己的API模块是" Doxygen文档生成器规范子集的实现 ".
  • 他们自己的语法解析器模块(添加到上面的列表,与doxygen本身,ANTLR等等).
  • 他们自己的API网站运行上述两个模块,提供Drupal in-code"doxygen"文档.

因此,采用C++类比,似乎"doxygen"这个词过载并且在不同的上下文中意味着不同的东西.

在Drupal项目中,"doxygen"并不是指软件,而是指文档语法的(标准?)规范,尽管如上所述,doxygen网站本身的头版并未声称是这样的事情!

所以,我的离题是:

还有其他文档语法规范吗?

c++ documentation specifications doxygen documentation-generation

24
推荐指数
2
解决办法
4289
查看次数

你如何记录未经检查的例外情况?

Joshua Bloch在他的Effective Java中写道:

"使用Javadoc @throws标记来记录方法可以抛出的每个未经检查的异常,但不要使用throws关键字在方法声明中包含未经检查的异常."

嗯,这听起来确实合理,但如何找出,我的方法可以抛出什么未经检查的异常?

让我们想一下以下课程:

public class FooClass {

    private MyClass[] myClass;

    /**
     * Creates new FooClass
     */
    public FooClass() { 
        // code omitted
        // do something with myClass
    }

    /**
     * Performs foo operation.<br />
     * Whatever is calculated.
     * @param index Index of a desired element
     * @throws HorribleException When something horrible happens during computation
     */
    public void foo(int index) {
        try {
            myClass[index].doComputation();
        } catch (MyComputationException e) {
            System.out.println("Something horrible happened during computation");
            throw new …
Run Code Online (Sandbox Code Playgroud)

java documentation exception-handling exception

24
推荐指数
1
解决办法
6138
查看次数

phpDoc类常量文档

如何记录phpDoc的类常量?我已经阅读了手册,但我找不到任何关于它们的信息.

php documentation class constants phpdoc

24
推荐指数
2
解决办法
2万
查看次数

node.js开发人员的高级文档

最近,我们的团队正在使用node.js开发一个新项目.开始使用node.js并不困难.但是现在我们都开始使用这种新技术,并且在这种基于事件的开发方面缺乏经验.

所以我想知道是否有任何书籍,博客或其他材料涵盖了node.js的"最佳实践"主题,就像"有效的c ++","有效的java"等.

javascript documentation node.js

24
推荐指数
1
解决办法
1万
查看次数

多行Clojure文档字符串

我注意到Clojure多行文档字符串似乎在大多数情况下都是手动格式化的,包括clojure.core中的那些.示例来自https://github.com/clojure/clojure/blob/master/src/clj/clojure/core.clj:

(defn flatten
  "Takes any nested combination of sequential things (lists, vectors,
  etc.) and returns their contents as a single, flat sequence.
  (flatten nil) returns an empty sequence."
  {:added "1.2"
   :static true}
  [x]
  (filter (complement sequential?)
          (rest (tree-seq sequential? seq x))))
Run Code Online (Sandbox Code Playgroud)

这看起来很奇怪,因为它意味着不同的文档字符串将具有不同的换行长度等,需要手动维护.

有没有更好的方法来格式化多行文档字符串?

documentation docstring clojure

24
推荐指数
2
解决办法
1万
查看次数

roxygen2 6.0.0现在在最后一行需要"@export"吗?

在更新到roxygen2版本6.0.0 之前,似乎使用@export不在包中函数头底部的标记支持的包.例如:

#' Title
#' @param foo
#' @return bar
#'
#' @export
#'
#' @seealso Other blah blah
Run Code Online (Sandbox Code Playgroud)

roxygen2使用我的roxygen25.0.1版安装时,上面的代码将成功构建并正确填写命名空间.但是,随着更新,这种形式的文档将无法正常工作,并将roxygen2其从NAMESPACE.R中主动删除.

我可以通过移动@export到底部来解决这个问题

#' Title
#' @param foo
#' @return bar
#'
#' @seealso Other blah blah
#' @export
Run Code Online (Sandbox Code Playgroud)

我的问题是这个问题是否出现在设计中?我在发行说明中看不到任何指定@export更改的内容:https://github.com/klutometis/roxygen/releases/tag/v6.0.0

roxygen2是不是应该如何工作和操作直到这一点是无意的?或者这是故意的改变?

NB显然,对于不同版本制作一个完整的mwe是困难的,任何关于如何解决这种欢迎的建议

编辑:经过进一步测试后,我开始怀疑除此之外还有更多的东西.我正在使用rstudio中的构建和文档快捷方式,我最近也更新了,甚至退回到roxygen25.0.1版本也阻止我重建过去工作的旧函数的文档.

documentation r version roxygen2

24
推荐指数
1
解决办法
476
查看次数

软件文档模板

有没有人知道任何软件需求的示例和模板的来源,构建环境描述和软件开发常见的其他类型的文档?

谢谢!

documentation project-planning project-management

23
推荐指数
1
解决办法
4万
查看次数

从postman集合创建html doc

我已经开发了一个非常优秀的API,我在Postman上有它,它非常好用.现在我必须生成一个html文档,以便将其与我的源代码一起保存在/ docs中.

有没有工具或方法来实现这一目标?我真的不想写所有这些文档.分享邮递员收藏不是一种选择.

api documentation rest documentation-generation postman

23
推荐指数
2
解决办法
3万
查看次数