Javadoc 有了暗色模式!

欢迎查看一项功能增强,用于为Javadoc生成的API文档添加深色主题。在右上角新增了一个按钮,点击后会弹出一个菜单,用于在不同主题之间切换。可选主题包括“浅色”、“深色”和“系统设置”(遵循系统级主题设置)。所选主题会在浏览器会话中保存并保持。

生成的文档可在此查看(第 5 版,仅限 java.base 模块)。

下方的截图展示了两种主题以及如何在它们之间切换。

图0:Javadoc 有了暗色模式!

共有 37 条评论

  1. 诚实问题:你们中有多少人会阅读Javadocs?

    我只是让Maven和Gradle下载源代码,然后通过IDE阅读。

    • 诚实问题:你们中有多少人会阅读Javadocs?

      大约每天50次以上。

      如果你访问搜索页面,然后点击“附加资源”,他们会告诉你如何设置浏览器,使用标签自动搜索javadocs。

      如果我在浏览器中输入“javadoc”后跟一个空格,接下来输入的字母将被搜索到JavaDoc索引中。这样可以轻松跳转到文档。

    • 诚恳地问:你们中有多少人会阅读Javadocs?

      只要有Javadocs,我就会一直阅读。Javadocs提供了下载源代码时会遗漏的上下文信息。

      例如,度量单位很少写入变量名称,而是在 Javadocs 中提及。

      我讨厌人们从源代码自动生成 Javadocs,因为这只是对代码的重复陈述,缺乏上下文。

      • 我讨厌人们从源代码自动生成 Javadocs,因为这只是对代码的重复陈述,缺乏上下文。

        我最讨厌的就是这种情况。还有源代码中的Javadoc注释,这些注释没有任何信息。

        类Person

        1行声明私有字符串地址

        3-4行添加Javadoc注释“Person的地址”

        比无用更糟糕

        • 我最讨厌的就是这种情况。还有源代码中那些毫无信息价值的Javadoc注释。

          我正在处理一个API,其Javadoc文档只是对源代码的复制粘贴。从API作者那里获得答案本身就是一项艰巨的任务。我已经在会议上抱怨了一年,哈哈。

          • 并非所有人都拥有源代码或知道如何获取它,所以我勉强理解这一点。从源代码生成Javadoc是可以接受的,只要源代码没有被污染。

            我无法容忍的是将Javadoc标记直接写入源代码——这通常会使行数大幅增加——却没有添加任何额外信息。这使得查找人类撰写的非trivial信息变得像寻找彩蛋一样困难。

    • 每当我想链接特定部分时,例如在 /r/javahelp 上。

      • 完全正确。大多数时候我在 IDE 中阅读它,但我不会把截图发给别人……

    • 我确实会这样做,有时比翻找IDE文档更方便

    • 我曾为客户发布过一个API,并在网站上提供了Javadocs。我们内部也使用它。这迫使开发人员保持Javadocs的更新。

    • 我偶尔会这样做。

    • 我认为这两者本质上是相同的。这篇文章似乎暗示所有信息都来自同一个来源,只是呈现方式和消费方式不同。

    • 一直如此。有些非常好的JavaDoc提供了大量在代码中难以理解的上下文,例如。流的源代码极其复杂,只是添加了大量(有时有趣的)噪音。

      GroupLayout 的文档非常出色,当年我做 Swing 时,它真的帮助我理解了布局管理器的概念。

      JavaDoc 不是可读性强的代码,但它算是次优选择。

  2. 酷!

    1. 我支持这个 100%

    2. JavaDoc 真正需要的是一个彻底的重新设计,以使整体文档更加友好。例如,我会给最常用的用例示例赋予更多的(远更多的)突出地位。

    让我们比较Java与C#的文档,例如。

    https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html

    https://learn.microsoft.com/es-es/dotnet/standard/base-types/stringbuilder

    Java 的文档甚至没有示例!

    如果 Oracle 有人在看,请、请、请重新设计并现代化 Javadocs!

    • 如果甲骨文公司有人看到,请、请、请重新设计并现代化Javadocs!

      这并不是缺乏现代化,而是该类别的原始开发者没有提供示例。

      你可以通过邮件列表发送消息,并提出修改 Javadoc 以提供示例。但他们可能会告诉你,该类太简单了,根本不需要示例。

  3. “系统设置”选项指的是什么?环境变量?某种操作系统设置?

    • “系统设置”选项指的是什么?环境变量?某种操作系统设置?

      通常通过浏览器提供的操作系统设置。

      当您在设备上安装浏览器时,它会从计算机中获取一些信息,包括操作系统、操作系统版本以及其他内容——包括操作系统的深色/浅色模式。

  4. 这是我五年前提出的请求 🙂

    • 这是我五年前提出的请求 🙂

      我四年前提出过一个请求,希望将搜索结果设置为链接(以便可以通过 Ctrl+点击在新标签页中打开)。现在才开始实施。

      https://bugs.openjdk.org/browse/JDK-8284499

      JDK 进展缓慢,但往往能做出正确的决策。

  5. 这对我很重要,因为我大部分开源项目的文档(除 README 外)都依赖 Javadoc。

    我提供其中一个项目的链接:https://jstach.io/ezkv/

    其余的文档大致类似,虽然我尝试过优化布局,但我的专长不在此处。(顺便一提,该 logo 是手动制作的 SVG XML,就像一场有趣的 logo 设计游戏……)

  6. 何时能实现方程渲染器?

  7. 请恢复iframe渲染功能,拜托了,谢谢。

  8. 我恳请添加高对比度深色模式选项,类似于这个示例 — example

    • 由于这是在网页浏览器中显示的,我认为所有这些问题最好通过浏览器扩展来解决。但这并不意味着不应该添加此功能。

      • 由于这是在网页浏览器中显示的,我认为所有这些问题最好通过浏览器扩展来解决。但这并不意味着不应该添加这些功能。

        浏览器如何实现这一点?最终,将一个主题转换为深色模式主题的方法并不清楚。这实际上是设计师需要解决的任务。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

链接收藏


京ICP备12002735号