为什么把文档单独放一组
写代码时我真正反复打开的,不是教程,而是文档。教程读完就忘,文档是要对着查参数、查边界、查兼容性表的。所以导航页最上面这一组我留给了开发文档,而且只留那些能直接定位到某一个函数或某一条属性的站点。判断一个文档站值不值得进书签栏,我的标准就三条:有没有站内搜索、地址能不能稳定到具体条目、有没有版本切换。三条缺一条,我宁愿用搜索引擎加站点限定语法临时找。
这一组里最常用的是 MDN Web Docs、PHP 官方手册、Go 官方文档、Rust Book,以及把多套文档聚合到一个页面里的 devdocs.io。它们分别覆盖了前端 Web API、后端脚本、系统语言入门和离线查阅几种完全不同的场景,基本不用再开第二个标签页。数量我一直压在五个以内,因为文档站点之间同质化很高,多留一个只是多一个要维护的入口。
逐个说用途和留在书签栏的理由
- MDN Web Docs:查 CSS 属性、Web API、HTTP 头和浏览器兼容性。每个页面底部的兼容性表是别处很难替代的,做兼容判断时我只看它,尤其要看清某个特性是在哪个版本才进的稳定支持。
- PHP 官方手册:函数签名、参数顺序、返回值类型和下方用户贡献的注释。手册地址支持直接拼接函数名跳转,比如想查某个 array 系列函数,在地址里接上函数名就能直达,配合浏览器自定义搜索关键字几乎是一步到位。注释区经常藏着版本差异和真实踩坑,比正文还实用。
- Go 官方文档与 pkg.go.dev:标准库包索引和 Effective Go 放一起,查第三方库时能直接看某个版本的源码,比翻仓库里的 README 快得多,也能确认某个方法到底存不存在。
- Rust Book 与 docs.rs:学所有权和生命周期看 Book,查某个 crate 的具体类型看 docs.rs,两者我放在同一个书签文件夹里,切换成本很低。
- devdocs.io:把几十套文档装进一个页面,支持离线缓存和快捷键模糊搜索。断网或者网络慢的时候它是救命的,我在笔记本上常年开着它的离线包。
devdocs 留在书签栏的理由很具体:它的搜索是文档内搜索,输入一个前缀会同时列出 PHP 的函数系列和其它语言里同名的东西,省去了在多个站点之间来回切标签。而且它记得上次勾选的文档集合,换机器登录同一账号能同步回来,这点对常换环境的人很友好。
几个真的能省时间的使用技巧
第一件事永远是确认版本。PHP 8.x 和 7.x 的函数行为差别不小,MDN 上某些 API 也分实验性和稳定,看错了会写出线上才炸的代码。我给自己定的动作是:打开文档页先扫一眼右上角的版本或语言切换,再往下读。第二个技巧是给常用文档站在浏览器里设自定义搜索关键字,比如敲一个短前缀加函数名直接跳手册对应页,比先打开首页再搜少两步。
devdocs 里用唤起搜索的快捷键先输入文档名前缀、再输关键词,能大幅缩小范围;在设置里勾选离线包后,飞机上也能查 Go 标准库。还有一点容易被忽略:文档站收录的是官方结论,读者评论里那些「这个版本已经改了」的补充同样值钱,我排查诡异行为时习惯把评论区一并看完,往往答案就在最下面那条。
我的原则是:书签栏只放查得到确切答案的站点,不放读起来很爽的站点。前者是工具,后者是内容,内容交给 RSS 和稍后读,别混在一起,混了之后两样都找不着。