如何研究技术

本文档提供了一些关于如何记录技术方法的实用信息。

做好准备工作

在开始在 MDN Web Docs 上记录或更新内容之前,您需要做一些准备和规划,然后再开始实际写作。

假设在阅读本指南之前,您已经对以下内容有了一定的了解:

  • HTML、CSS 和 JavaScript 等 Web 技术。
  • 阅读 Web 技术规范。在记录 API 时,您会经常查阅这些内容。

其余的都可以在过程中学习。

查阅资源

撰写任何文档的有用资源包括:

  1. MDN Web Docs 的 操作指南:您现在就在这里,但最好浏览所有文章,熟悉我们的写作风格、不同类型的页面及其包含的部分,以及我们包含页面不同部分(如规范和浏览器兼容性)的各种方式。
  2. 最新规范:不同的标准组织会为 MDN Web Docs 上记录的技术创建规范。例如,JavaScript 的 TC39,HTML 的 WHATWG,以及 CSS、XML 和一些 Web API 的 W3C。规范链接在 MDN Web Docs 的参考页面上(查看“规范”部分)。或者,您通常也可以通过网络搜索找到。请务必使用最新、最完整的规范。
  3. 最新的现代 Web 浏览器:这些应该是实验性/Alpha 版本,例如 Firefox NightlyChrome CanarySafari Technology Preview,它们更有可能支持您正在记录的功能。如果您正在记录一项“即将推出”的功能,这一点尤其重要。
  4. 演示/博客文章/其他信息:尽可能多地查找信息。如果您正在更新一项技术,因为该技术已发生变化,请确保您用来学习的资源不是过时的。这就是为什么上面前两点很重要。

明智的做法是尝试找到可以帮助您解答问题的人。这个人可以是规范的作者,也可以是实现浏览器功能的工程师。

阅读规范

刚开始阅读规范可能会觉得有些陌生,但您做得越多,就会越习惯。这里有一些很好的链接可以帮助您入门:

此外,我们还有 《WebIDL 文件中包含的信息》 指南,这对于阅读 Web API 规范非常有帮助。

探索功能

在记录一项技术的过程中,您会多次返回编写代码示例或构建演示,但一开始花时间熟悉这项技术的工作原理非常有益。这是一个非常有价值的练习,因为它能让您深入了解用例(开发者**为什么**会使用这项技术),并同时帮助创建一些代码示例。

注意: 如果规范最近有更新,例如,某个方法现在定义不同,但旧方法在浏览器中仍然有效,您通常需要在同一个地方记录两者,以便涵盖旧方法和新方法。如果您需要帮助,请参考您找到的演示,或咨询工程联系人。

创建需要编写或更新的页面列表

您需要从头开始编写或更新的页面各不相同,具体取决于您要记录的技术。查看 页面类型 和您正在记录的技术的相关部分。您很可能还需要更新现有文档,因此请在 MDN Web Docs 中搜索与您正在编写的内容相关的页面。

您编写的页面的侧边栏可能也需要定义或更新。要了解是否需要这样做以及如何操作,请查看 侧边栏指南

代码示例

MDN Web Docs 的一些代码示例保存在单独的存储库中。最值得注意的是,这些是在参考页面“尝试一下”部分中显示的交互式示例,以及指南所需的较大演示代码。如果您确实需要向这些存储库添加内容或修改内容,最好在您的列表中记下这一点。

代码示例 文章描述了我们在 MDN Web Docs 上使用的不同类型的代码示例。

示例

假设您正在记录一个新的 Web API,您最初要记录的部分列表将如下所示:

  1. 概述页面
  2. 接口页面
  3. 构造函数页面
  4. 方法页面
  5. 属性页面
  6. 事件页面
  7. 概念/指南页面
  8. 代码示例
  9. 侧边栏

然后,您可以添加更多细节进行扩展,添加每个接口及其成员。例如,如果您正在记录 Web Audio API,您的列表可能看起来更像这样:

  • Web_Audio_API

  • AudioContext

    • AudioContext.currentTime
    • AudioContext.destination
    • AudioContext.listener
    • ...
    • AudioContext.createBuffer()
    • AudioContext.createBufferSource()
    • ...
  • AudioNode

    • AudioNode.context
    • AudioNode.numberOfInputs
    • AudioNode.numberOfOutputs
    • ...
    • AudioNode.connect(Param)
    • ...
  • AudioParam

  • 事件(更新列表)

    • start
    • end

创建问题(issue)

此时,最好在 mdn/content 存储库上创建一个跟踪 issue,并将页面列为待办(复选框)列表。这不仅使您,也使其他参与文档工作的人能够公开跟踪状态。您还可以将您的 pull requests 链接到此 issue,以便为所有人提供更多上下文。

创建页面

现在创建您需要的页面。要创建新页面,请参阅我们 《如何创建、移动、删除和编辑页面》 指南中的说明。查看我们的 页面类型 指南,其中包含可能有用的页面模板。