如何研究技术
本文提供了一些关于如何记录技术的有用信息。
做准备工作
在开始在 MDN Web 文档上记录或更新任何内容之前,您应该在开始实际编写之前做好一些准备和计划。
假设在阅读本指南之前,您已经对以下内容有了一定的了解
- Web 技术,如 HTML、CSS 和 JavaScript。
- 阅读 Web 技术规范。在记录 API 时,您将经常查看这些规范。
其他所有内容都可以边学边做。
查看资源
编写任何文档时,以下资源非常有用
- MDN Web 文档的操作指南:您已经在这里了,但浏览所有文章并熟悉我们的写作风格、不同类型的页面以及它们包含的各个部分、以及我们包含页面不同部分(如规范和浏览器兼容性)的不同方法,会很有帮助。
- 最新规范:不同的标准机构为在 MDN Web 文档中记录的技术创建规范。例如,TC39 用于 JavaScript,WHATWG 用于 HTML,以及W3C 用于 CSS、XML 和一些 Web API。规范从 MDN Web 文档的参考页面链接(查看“规范”部分)。或者,您通常可以通过网络搜索找到它们。始终使用最新、最完整的规范。
- 最新的现代 Web 浏览器:这些应该是实验性/alpha 版本,例如Firefox Nightly、Chrome Canary 或Safari Technology Preview,它们更有可能支持您正在记录的功能。如果您正在记录“即将推出”的功能,这一点尤其重要。
- 演示/博客文章/其他信息:尽可能多地查找信息。如果您正在更新技术,因为技术已经改变,请确保您用来学习的资源没有过时。这就是上面两点重要的原因。
明智的做法是尝试找到可以帮助您回答问题的人。这可能是规范作者或实现浏览器功能的工程师。
阅读规范
一开始这可能感觉有点陌生,但您做得越多,就越习惯。以下是一些有用的链接,可以帮助您入门
- 如何阅读 W3C 规范,作者是 J. David Eisenberg,发表在 A List Apart 上
- 了解 CSS 规范,来自 w3c
- 如何阅读 Web 规范第一部分 - 或:WebVR,你是如何工作的? 特别介绍了如何阅读 WebVR 规范,但它是阅读 Web API 规范的绝佳入门。
- 如何阅读 Web 规范第二部分 - 或:ECMAScript 符号 上面链接的第二部分包含有关理解 ECMAScript 规范的信息,该规范概述了 JavaScript 语言
此外,我们还有WebIDL 文件中包含的信息 指南,这在阅读 Web API 规范时非常有帮助。
探索功能
您将在记录技术的过程中多次返回编写代码示例或构建演示,但从花费时间熟悉技术的工作原理开始非常有用。这是一项非常有价值的练习,因为它可以让您深入了解用例(为什么开发人员会使用这项技术)并同时帮助您创建一些代码示例。
注意: 如果规范最近更新,例如,现在对方法的定义不同,但旧方法在浏览器中仍然有效,您通常必须在同一个地方记录两种方法,以确保涵盖旧方法和新方法。如果您需要帮助,请参考您找到的演示或咨询工程人员。
创建要编写或更新的页面列表
您需要从头开始编写或更新的不同页面,取决于您要编写的技术。查看页面类型 和与您正在记录的技术相关的部分。您很可能还需要更新现有的文档,因此请在 MDN Web 文档中搜索与您正在编写的内容相关的页面。
侧边栏
您编写的页面的侧边栏也可能需要定义或更新。要了解是否需要这样做以及如何操作,请查看侧边栏指南。
代码示例
MDN Web 文档中的一些代码示例保存在单独的代码库中。最值得注意的是,这些是出现在参考页面“试用”部分的交互式示例以及指南所需的较大的演示代码。如果您确实需要添加或修改其中一个代码库,建议您在列表中记录下来。
代码示例 文章介绍了我们在 MDN Web 文档中使用的不同类型的代码示例。
示例
假设您正在记录一个新的 Web API,您最初要记录的部分列表看起来像这样
- 概述页面
- 接口页面
- 构造函数页面
- 方法页面
- 属性页面
- 事件页面
- 概念/指南页面
- 代码示例
- 侧边栏
然后,您可以用更多细节对其进行扩展,添加每个接口及其成员。例如,如果您正在记录 Web 音频 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
- …
打开问题
建议您此时在mdn/content
代码库中打开一个跟踪问题,将页面列为待办事项(复选框)列表。这不仅可以让您,还可以让其他人公开跟踪状态。您还可以将您的拉取请求链接到此问题,以便为所有人提供更多上下文。
创建页面
现在创建您需要的页面。要创建新页面,请查看我们的如何创建、移动、删除和编辑页面 指南。查看我们的页面类型 指南,以查找可能对您有用的页面模板。