From d87856982277770a41cdb6ebb2e0ab0898aaffda Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 19 Dec 2022 21:59:00 +0800 Subject: [PATCH] RP @CanYellow https://linux.cn/article-15364-1.html --- ...­ï¸ Write documentation like you develop code.md | 88 +++++++++++++++++++ ...­ï¸ Write documentation like you develop code.md | 86 ------------------ 2 files changed, 88 insertions(+), 86 deletions(-) create mode 100644 published/20221028.1 â­ï¸â­ï¸ Write documentation like you develop code.md delete mode 100644 translated/talk/20221028.1 â­ï¸â­ï¸ Write documentation like you develop code.md diff --git a/published/20221028.1 â­ï¸â­ï¸ Write documentation like you develop code.md b/published/20221028.1 â­ï¸â­ï¸ Write documentation like you develop code.md new file mode 100644 index 0000000000..95f0e82e50 --- /dev/null +++ b/published/20221028.1 â­ï¸â­ï¸ Write documentation like you develop code.md @@ -0,0 +1,88 @@ +[#]: subject: "Write documentation like you develop code" +[#]: via: "https://opensource.com/article/22/10/docs-as-code" +[#]: author: "Lorna Mitchell https://opensource.com/users/lornajane" +[#]: collector: "lkxed" +[#]: translator: "CanYellow" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15364-1.html" + +åƒä¹¦å†™ä»£ç ä¸€æ ·æ’°å†™æ–‡æ¡£ +====== + +![][0] + +> 䏿ƒ³è®©æ–‡æ¡£æˆä¸ºäº‹åŽçš„æƒ³æ³•?或许你该å°è¯•一下全新的写作方å¼ã€‚ + +å¾ˆå¤šå·¥ç¨‹å¸ˆä¸Žæ‰‹å·¥è‰ºè€…éƒ½å¯¹ä»–ä»¬ä½¿ç”¨çš„å·¥å…·æœ‰ç‰¹åˆ«çš„è¦æ±‚。为了顺利的完æˆå·¥ä½œï¼Œä½ éœ€è¦æœ€å¥½çš„工具和使用它们的技巧。软件开å‘中最好的工具在应用到其他的数字创作领域中也å¯ä»¥æ˜¯å¾ˆå¼ºå¤§çš„。[文档å³ä»£ç ][1]Docs as Code 的方å¼å°±æ˜¯å¾ˆå¥½çš„例å­ã€‚“文档å³ä»£ç â€æ„味ç€ä½¿ç”¨ä¸Žä»£ç å¼€å‘相åŒçš„å·¥å…·å’Œå·¥ä½œæµæ¥æ’°å†™æ–‡æ¡£ã€‚文档å³ä»£ç çš„æ”¯æŒè€…认为,这样的方å¼å¯ä»¥åœ¨é™ä½Žå†™ä½œè€…的工作é‡çš„åŒæ—¶ï¼Œä¹Ÿå¸¦æ¥äº†æ›´å¥½çš„æ–‡æ¡£ã€‚ + +### 文本格å¼ä¸Žæºæ–‡ä»¶æŽ§åˆ¶ + +从传统的写作平å°åˆ‡æ¢åˆ°æ–‡æ¡£å³ä»£ç æ–¹å¼æ—¶ï¼Œæœ€ä¸»è¦çš„调整是将写作内容ä¿å­˜åœ¨åŸºäºŽæ–‡æœ¬çš„æ ‡è®°æ ¼å¼ä¸­ã€‚这一转å˜ä½¿å¾—基于纯文本的工具都适用于文档写作。无论你选择 [DocBook][2]ã€[Markdown][3] 或者其他的标记语言,从åªä½¿ç”¨ä¸€ç§å·¥å…·åˆ°ä½¿ç”¨ä¸€ç§æ ‡å‡†æ ¼å¼é…åˆå¤šç§å·¥å…·æ˜¯ä¸€ç§å·¨å¤§çš„转å˜ã€‚ + +找到支æŒä½ çš„工作æµç¨‹çš„工具是éžå¸¸é‡è¦çš„。很多开å‘者在文档å³ä»£ç é¡¹ç›®ä¸­ä½¿ç”¨ä»–们的 [代ç ç¼–辑器][4]ã€‚å› ä¸ºä»–ä»¬å·²ç»æ˜¯è¿™äº›å·¥å…·çš„高阶用户,一切都很顺利。而找到适åˆå›¢é˜Ÿé‡Œå…¶ä»–专业人员,比如技术撰稿ã€ç¼–辑ã€ä¿¡æ¯æž¶æž„师和文档产å“责任人的工具å¯èƒ½éœ€è¦ä¸€ç•ªåŠªåŠ›ã€‚è¿™é‡Œæœ‰ä¸€äº›é€‰é¡¹å¯ä¾›å‚考: + +- å„ç§ [优秀的 Markdown 编辑器][5] 之一 +- 附带良好的预览工具的代ç ç¼–辑器å¯èƒ½æ›´é€‚åˆéžç¨‹åºå‘˜ +- æµè¡Œçš„ Git 托管æœåŠ¡çš„ç½‘é¡µç•Œé¢å°¤å…¶é€‚用于å¶å°”有需è¦çš„贡献者 + +一旦内容以标记语言的格å¼å®‰å…¨åœ°ä¿å­˜ï¼Œå°±å¯ä»¥ä½¿ç”¨ [Git][6] 这样的版本控制进行管ç†ã€‚Git 相比大多数文档平å°å…·æœ‰æ›´å¤šçš„功能: + +- 清晰详细的文档版本历å²ï¼šè°åœ¨ä»€ä¹ˆæ—¶å€™æ”¹å˜äº†ä»€ä¹ˆã€‚如果你有良好的æäº¤ä¿¡æ¯æƒ¯ä¾‹ï¼Œä½ ç”šè‡³å¯ä»¥äº†è§£åˆ°ä¸ºä»€ä¹ˆä¼šæœ‰è¿™æ ·çš„å˜æ›´ã€‚ +- 简明的并行修改过程。在 Git 中使用分支工作æ„味ç€ä»»ä½•人å¯ä»¥åšå‡ºä»–们想è¦çš„任何改å˜ï¼Œå¹¶åœ¨æœ€åŽåˆå¹¶æ‰€åšçš„å˜æ›´ã€‚ +- 先进的å作与审查工具。所有的æºä»£ç ç®¡ç†å¹³å°éƒ½è¢«è®¾è®¡æˆæ”¯æŒè¯¦ç»†å®¡æŸ¥æ¯ä¸€ä¸ªå˜æ›´ï¼Œå¹¶æ ¹æ®éœ€è¦è¿›è¡Œè®¨è®ºï¼Œä½¿æ¯ä¸ªäººéƒ½ç¡®ä¿¡è¿™ä¸ªå˜æ›´å¯ä»¥ç»§ç»­è¿›è¡Œã€‚ +- è‡ªåŠ¨è´¨é‡æ£€æŸ¥ï¼Œæ¯”如拼写检查和链接检查。这ä¸ä»…节çœäº†æ—¶é—´ï¼Œè€Œä¸”å¯ä»¥å‘现å¯èƒ½é—æ¼çš„错误。 + +æºä»£ç ç®¡ç†æœ‰å¾ˆå¤šä¼˜ç‚¹ã€‚但è¦è®°ä½ï¼Œå¦‚果你准备入门æºä»£ç ç®¡ç†ï¼Œå®ƒæœ‰ä¸€å®šçš„学习曲线。这是一些有助于撰写者入门的优秀的 [学习资æº][7] å’Œ [文章][8]。你也å¯ä»¥è®©å…·æœ‰å¥½å¥‡å¿ƒçš„æ–‡æ¡£æ’°å†™è€…è‡ªè¡Œå¯»æ‰¾å¯¹ä»–ä»¬æœ‰ç”¨çš„å­¦ä¹ ææ–™ï¼Œè€Œä¸æ˜¯è¯·ä½ çš„工程师æ¥åŸ¹è®­ä»–们。(问我是怎么学会的? —— 当然是通过艰苦的方å¼ï¼ï¼‰ + +### 拉å–请求和评审循环 + +所有的æºä»£ç ç®¡ç†å¹³å°éƒ½å›´ç»• 拉å–请求Pull Request 这一概念设计的,这有时也称为 åˆå¹¶è¯·æ±‚Merge Request:有时候,æŸä¸ªäººæˆ–æŸä¸ªå›¢é˜Ÿå…ˆå°†ä¸€ç³»åˆ—æ”¹å˜æ•´åˆåˆ°ä¸€èµ·ï¼Œç„¶åŽè¯·æ±‚把这些修改拉到主项目中。ä¸è¿‡ä»Žè®¸å¤šæ–¹é¢æ¥è¯´ï¼Œåœ¨æ–‡æ¡£ä¸­ä¸€æ¬¡å¤„ç†å¤šä¸ªå˜æ›´æ¯”在代ç ä¸­æ›´å®¹æ˜“。改å˜ä¸€ç¯‡æ–‡ç« ä¸­çš„æŸä¸ªåœ°æ–¹ï¼Œæ¯”æ›´æ”¹ä»£ç å¹¶å‘现有其它几个地方ä¾èµ–它,副作用更å°ã€‚ + +最强大的å作工具是 [diff][9],它å¯ä»¥é€šè¿‡ä¸€ä¸ªæ˜“于ç†è§£çš„æ–¹å¼å±•示旧版本与新版本之间的差异。该工具有许多ä¸åŒçš„版本,å¯ä»¥ä½¿æ¯”è¾ƒè§†å›¾æ›´æ˜“äºŽæŸ¥çœ‹ï¼šåŒæ æ¨¡å¼ã€è¡Œå†…模å¼ï¼Œç”šè‡³æ˜¯æ¸²æŸ“过的 Markdown 模å¼ã€‚团队中的æ¯ä¸€ä¸ªæˆå‘˜éƒ½å¯ä»¥é€‰æ‹©æœ€é€‚åˆä»–ä»¬çš„å·¥å…·ã€‚ä¸¾ä¾‹è€Œè¨€ï¼Œç½‘é¡µè§†å›¾é€šå¸¸ç”¨äºŽæŸ¥çœ‹ç»†å¾®å˜æ›´ï¼Œè€Œå¯¹äºŽæ›´å¤§çš„å˜æ›´ï¼Œæˆ‘习惯于使用 `vimdiff` 或 [Meld][10] 在本地æµè§ˆã€‚ + +评审æ„è§å¯ä»¥è¢«æ·»åŠ åˆ°æ•´ä¸ªä¿®æ”¹ä¸­ï¼Œä¹Ÿå¯ä»¥æ·»åŠ åˆ°æ‹Ÿè®®çš„å˜æ›´çš„个别行中。一些项目é™åˆ¶äº†è¡Œçš„æœ€å¤§é•¿åº¦ï¼Œå³ç¡¬æ¢è¡Œï¼Œæˆ–者一行一å¥ï¼Œä»¥ä½¿å¾—呿–‡æœ¬çš„特定的部分添加注释更加容易。å¯ä»¥æ·»åŠ è¿›ä¸€æ­¥çš„ä¿®æ”¹ä¸Žè¯„è®ºï¼Œç›´åˆ°å®¡æŸ¥è¿‡ç¨‹ç»“æŸï¼Œä¿®æ”¹è¢«æŽ¥å—。由于拉å–请求在项目仓库以队列形å¼å±•示,这是一ç§å¾ˆå¥½çš„æ–¹å¼ï¼Œå¯ä»¥å±•ç¤ºç›®å‰æ­£åœ¨è¿›è¡Œçš„任务以åŠéœ€è¦è¿›è¡Œæ£€æŸ¥æ“作的任务。`diff` 工具使得评审人员更方便地添加他们的æ€è€ƒã€‚尤其是你在与技术å—众工作时,你å¯ä»¥é€šè¿‡ä»–们日常使用的工具获得æ¥è‡ªä»–们的评论。 + +### æŒç»­é›†æˆä¸Žéƒ¨ç½² + +ä»¥çº¯æ–‡æœ¬å½¢å¼æä¾›ä½ çš„æ–‡æ¡£çš„æºä»£ç æœ‰å¾ˆå¤šç›Šå¤„,你å¯ä»¥è½»æ˜“找到æ¯ä¸€ä¸ªéœ€è¦ä¿®æ”¹çš„ä½ç½®ï¼Œä½ å¯ä»¥ä½¿ç”¨çŽ°æœ‰çš„è¯¸å¦‚ [wc][11]ã€[grep][12] 或 `tree` 之类的工具,æ¥å¤„ç†æ½œåœ¨çš„大型文档集。当你将这些与æºä»£ç ç®¡ç†å¹³å°ç»“åˆèµ·æ¥ä¹‹åŽï¼Œä½ å¯èƒ½èŽ·å¾—æ›´å¤šçš„å¯ç”¨å·¥å…·ï¼Œå¹¶ä¸”它们都是开æºçš„。 + +å¦ä¸€ä¸ªå·¥ä½œæµç¨‹ä¸Šçš„巨大æå‡æ˜¯æŒç»­éƒ¨ç½²çš„èƒ½åŠ›ã€‚ç®€å•æ¥è¯´ï¼Œè¿™æ„味ç€ï¼Œæ¯å½“一个拉å–请求被åˆå¹¶åˆ°ä¸»é¡¹ç›®ä¸­ï¼Œé¡¹ç›®å¯ä»¥ç›´æŽ¥è‡ªåŠ¨åŒ–éƒ¨ç½²åˆ°ä½ã€‚å¦‚æžœè¿™ä¸ªå˜æ›´è¶³å¤Ÿå¥½ï¼Œå°±å¯ä»¥æ”¾è¿›é¡¹ç›®ä¸­ï¼Œå®ƒä¹Ÿè¶³å¤Ÿå¥½åˆ°å¯ä»¥åœ¨æ”¾åˆ°æ–‡æ¡£ç½‘站上帮助你的读者。典型情况下,æŒç»­éƒ¨ç½²æ˜¯é…置在一å°å•独的自动化æœåŠ¡å™¨ä¸Šçš„ï¼Œæ¯”å¦‚ [Jenkins][13] 或者 [Git é’©å­][14]。ä¸è®ºå“ªç§æ–¹å¼ï¼ŒåŸºäºŽæ–‡æœ¬çš„æ ‡è®°è¯­è¨€ä¸Žæ–‡æ¡£å³ä»£ç å¹³å°ï¼ˆé€šå¸¸æ˜¯é™æ€ç½‘页生æˆå™¨ï¼Œæ¯”如 [Hugo][15] 或 [Sphinx][16]ï¼‰ç»“åˆæ¥ç”Ÿæˆæ–‡æ¡£ç½‘站,然åŽè‡ªåŠ¨éƒ¨ç½²ã€‚ + +在部署之å‰ï¼ŒåŒæ ·çš„自动化æµç¨‹å¯ä»¥è¢«ç”¨äºŽå¯¹å°†è¦åˆå¹¶çš„æ‹‰å–è¯·æ±‚è¿›è¡Œæ£€æŸ¥ã€‚åœ¨ä¸€ä¸ªç¼–ç¨‹é¡¹ç›®ä¸­ï¼Œé€šè¿‡è®¡ç®—æœºè‡ªè¡Œè¿›è¡Œä»£ç æ£€æŸ¥ã€ä»£ç æµ‹è¯•å’Œå…¶ä»–çš„è´¨é‡æ£€æŸ¥å·²ç»ä¹ ä»¥ä¸ºå¸¸ã€‚通过类似 [Vale][17] 之类的工具å¯ä»¥å¯¹æ–‡æœ¬è¿›è¡Œæ£€æŸ¥ï¼Œæ–‡æ¡£é¡¹ç›®ä¹Ÿå¯ä»¥åŒæ ·å¯¹å¾…。你也å¯ä»¥æ·»åŠ å…¶ä»–çš„å·¥å…·ï¼Œæ¯”å¦‚æ·»åŠ ä¸€ä¸ªé“¾æŽ¥æ£€æŸ¥å™¨æ¥ç¡®ä¿æ–‡ä¸­æ‰€æœ‰çš„链接都是有效的。 + +### 用于文档æµç¨‹çš„代ç å·¥å…· + +被工程师们熟知并喜爱的工具都是éžå¸¸å¥½çš„å·¥å…·ï¼Œå®ƒä»¬åŒæ—¶ä¹Ÿå¯ä»¥ç”¨äºŽå…¶ä»–类型的项目中。对于文档而言,它们æå‡äº†å®è´µçš„æ•ˆçŽ‡ï¼Œå°¤å…¶æ˜¯å½“ä½ å¸Œæœ›ä½ çš„æ–‡æ¡£ä¸Žä½ çš„å›¢é˜ŸåŒæ­¥æŽ¨è¿›çš„æ—¶å€™ã€‚上é¢è®¨è®ºåˆ°çš„æ‰€æœ‰å·¥å…·éƒ½æ˜¯å¼€æºçš„,你å¯ä»¥äº²è‡ªå°è¯•,也å¯ä»¥ä¸ºå¤§åž‹å…¨çƒå›¢é˜Ÿï¼Œäº¦æˆ–è€…ä»‹äºŽä¸¤è€…ä¹‹é—´çš„å›¢é˜Ÿï¼Œéƒ¨ç½²å®ƒä»¬ã€‚æ„¿ä½ çš„æˆæ–‡è¿‡ç¨‹å’Œç¼–程过程一样顺畅。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/docs-as-code + +作者:[Lorna Mitchell][a] +选题:[lkxed][b] +译者:[CanYellow](https://github.com/CanYellow) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) è£èª‰æŽ¨å‡º + +[a]: https://opensource.com/users/lornajane +[b]: https://github.com/lkxed +[1]: https://www.writethedocs.org/guide/docs-as-code +[2]: https://opensource.com/article/17/9/docbook +[3]: http://commonmark.org +[4]: https://opensource.com/article/20/12/eclipse +[5]: https://opensource.com/article/21/10/markdown-editors +[6]: https://opensource.com/downloads/cheat-sheet-git +[7]: https://opensource.com/article/18/1/step-step-guide-git +[8]: https://opensource.com/article/19/4/write-git +[9]: https://opensource.com/article/21/11/linux-diff-patch +[10]: https://opensource.com/article/20/3/meld +[11]: https://www.redhat.com/sysadmin/linux-wc-command?intcmp=7013a000002qLH8AAM +[12]: https://opensource.com/downloads/grep-cheat-sheet +[13]: https://www.jenkins.io +[14]: https://www.redhat.com/sysadmin/git-hooks +[15]: https://opensource.com/article/18/3/start-blog-30-minutes-hugo +[16]: https://opensource.com/article/19/11/document-python-sphinx +[17]: https://vale.sh +[0]: https://img.linux.net.cn/data/attachment/album/202212/19/215600m3bzhqlu23lskssl.jpg \ No newline at end of file diff --git a/translated/talk/20221028.1 â­ï¸â­ï¸ Write documentation like you develop code.md b/translated/talk/20221028.1 â­ï¸â­ï¸ Write documentation like you develop code.md deleted file mode 100644 index 9c373f96bd..0000000000 --- a/translated/talk/20221028.1 â­ï¸â­ï¸ Write documentation like you develop code.md +++ /dev/null @@ -1,86 +0,0 @@ -[#]: subject: "Write documentation like you develop code" -[#]: via: "https://opensource.com/article/22/10/docs-as-code" -[#]: author: "Lorna Mitchell https://opensource.com/users/lornajane" -[#]: collector: "lkxed" -[#]: translator: "CanYellow" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -åƒä»£ç å¼€å‘一样撰写文档 -====== - -䏿ƒ³è®©ä¹¦å†™æ»žåŽäºŽä½ çš„æ€è€ƒï¼Ÿæˆ–è®¸ä½ è¯¥å°è¯•一下全新的写作方å¼ã€‚ - -å¾ˆå¤šå·¥ç¨‹å¸ˆä¸Žæ‰‹å·¥è‰ºè€…éƒ½å¯¹ä»–ä»¬ä½¿ç”¨çš„å·¥å…·æœ‰ç‰¹åˆ«çš„è¦æ±‚。为了顺利的完æˆå·¥ä½œï¼Œä½ éœ€è¦æœ€å¥½çš„工具和使用它们的技巧。软件开å‘中最好的工具在应用到其他的数字创作领域中也å¯ä»¥æ˜¯å¾ˆå¼ºå¤§çš„。[Docs as Code][1] (译注:代ç åŒ–文档)的方å¼å°±æ˜¯å¾ˆå¥½çš„例å­ã€‚Doc as Code æ„味者使用与代ç å¼€å‘相åŒçš„å·¥å…·ä¸Žå·¥ä½œæµæ¥æ’°å†™æ–‡æ¡£ã€‚Doc as Code 的支æŒè€…认为这样的方å¼å¯ä»¥åœ¨é™ä½Žä½œè€…的工作符负è·çš„åŒæ—¶ä¿è¯æ›´å¥½çš„æ–‡æ¡£ç»“构。 - -### 文本格å¼ä¸Žæºæ–‡ä»¶æŽ§åˆ¶ - -从传统的写作平å°åˆ‡æ¢åˆ° Docs as Code æ–¹å¼æ—¶ï¼Œæœ€ä¸»è¦çš„调整是写作内容ä¿å­˜åœ¨åŸºäºŽæ–‡æœ¬çš„æ ‡è®°æ ¼å¼ä¸­ã€‚这一转å˜ä½¿å¾—åŸºäºŽçº¯æ–‡æœ¬ææ–™çš„工具都适用于文档写作。当你选择 [DocBook][2], [Markdown][3] 或者其他的标记语言时,从åªä½¿ç”¨ä¸€ç§å·¥å…·åˆ°ä½¿ç”¨ä¸€ç§æ ‡å‡†æ ¼å¼é…åˆå¤šç§å·¥å…·æ˜¯ä¸€ç§å·¨å¤§çš„转å˜ã€‚ - -找到支æŒä½ çš„工作æµç¨‹çš„工具是éžå¸¸é‡è¦çš„。在 Docs as Code 项目中,很多开å‘者使用他们的 [代ç ç¼–辑器][4]ã€‚è€ƒè™‘åˆ°ä»–ä»¬å·²ç»æ˜¯è¿™äº›å·¥å…·çš„高阶用户,一切都很顺利。而找到适åˆå›¢é˜Ÿé‡Œé€‚åˆå…¶ä»–专业从业者,比如技术撰稿ã€ç¼–辑ã€ä¿¡æ¯æž¶æž„师和文档产å“责任人,的工具å¯èƒ½éœ€è¦ä¸€ç•ªåŠªåŠ›ã€‚è¿™é‡Œæœ‰ä¸€äº›é€‰é¡¹å¯å…¹å‚考: - -- å„ç§[优秀的 Markdown 编辑器][5]之一是å¯è¡Œçš„ -- 附带良好的预览工具的代ç ç¼–辑器å¯èƒ½æ›´é€‚åˆéžç¨‹åºå‘˜ -- æµè¡Œçš„ Git 托管æœåŠ¡çš„ç½‘é¡µç•Œé¢å°¤å…¶é€‚用于å¶å°”有需è¦çš„贡献者 - -一旦内容以标记语言的格å¼å®‰å…¨ä¿å­˜å°±å¯ä»¥ä½¿ç”¨ç‰ˆæœ¬æŽ§åˆ¶è¿›è¡Œç®¡ç†ï¼Œæ¯”如 [Git][6]。Git 相比大多数文档平å°å…·æœ‰æ›´å¤šçš„功能: - -- 清晰详细的文档版本历å²ï¼šè°åœ¨ä»€ä¹ˆæ—¶å€™æ”¹å˜äº†ä»€ä¹ˆã€‚ -- 简明的并行修改过程支æŒã€‚在 Git 中使用分支工作æ„味ç€ä»»ä½•人å¯ä»¥åšå‡ºä»–们想è¦çš„任何改å˜å¹¶åœ¨æœ€åŽåˆå¹¶æ‰€åšçš„æ›´æ”¹ã€‚ -- 高级的å作与审查工具。所有的æºä»£ç ç®¡ç†å¹³å°éƒ½è®¾è®¡æ”¯æŒè¯„审æ¯ä¸€æ¡ç»†èŠ‚å˜æ›´å¹¶åœ¨è¶³å¤Ÿçš„讨论åŽä½¿æ¯ä¸ªäººéƒ½ç¡®ä¿¡æ”¹å˜å¯ä»¥ç»§ç»­çš„æµç¨‹ã€‚ -- è‡ªåŠ¨è´¨é‡æ£€æŸ¥ï¼Œæ¯”如拼写检查和链接检查。这ä¸ä»…节çœäº†æ—¶é—´ï¼Œè€Œä¸”å¯ä»¥å‘çŽ°ä»¥å‰æ— æ³•å‘现的错误。 - -æºä»£ç ç®¡ç†æœ‰å¾ˆå¤šä¼˜ç‚¹ã€‚但è¦è®°ä½ï¼Œå¦‚果你准备入门æºä»£ç ç®¡ç†ï¼Œå®ƒæœ‰ä¸€å®šçš„学习曲线。这是一些有助于入门的优秀的[学习资æº][7]å’Œ[作者文章][8]。你也å¯ä»¥è®©å…·æœ‰å¥½å¥‡å¿ƒçš„æ–‡æ¡£ä½œè€…è‡ªè¡Œå¯»æ‰¾å¯¹ä»–ä»¬æœ‰ç”¨çš„å­¦ä¹ ææ–™ï¼Œè€Œä¸æ˜¯è¯·ä½ çš„工程师æ¥åŸ¹è®­ä»–们。(探寻他人的学习历程是最困难的学习方å¼) - -### 拉å–请求和评审循环 - - -所有的æºä»£ç ç®¡ç†å¹³å°éƒ½å›´ç»•拉å–请求这一概念设计,这有时也称为åˆå¹¶è¯·æ±‚。有时候,æŸäº›å›¢é˜Ÿå…ˆå°†ä¸€ç³»åˆ—æ”¹å˜æ•´åˆåˆ°ä¸€èµ·ç„¶åŽå‘主项目å‘èµ·è¦æ±‚修改被拉å–的请求。ä¸è¿‡ä»Žè®¸å¤šæ–¹é¢æ¥è¯´ï¼Œåœ¨æ–‡æ¡£ä¸­ä¸€æ¬¡å¤„ç†å¤šä¸ªå˜æ›´æ¯”在代ç ä¸­æ›´å®¹æ˜“ã€‚æ”¹å˜æ–‡æ¡£ä¸­æŸå¤„的一篇文章比之更改代ç å¹¶æ‰¾å‡ºæœ‰å“ªäº›åœ°æ–¹ä¾èµ–它具有更å°çš„副作用。 - -最强大的å作工具是 [diff][9],它å¯ä»¥é€šè¿‡ä¸€ä¸ªæ˜“于察觉的方å¼å±•示旧版本与新版本之间的差异。该工具有多ç§ä¸åŒçš„版本æ¥ä½¿å¾—æ¯”è¾ƒè§†å›¾æ›´æ˜“äºŽæŸ¥çœ‹ï¼šåŒæ æ¨¡å¼ã€è¡Œå†…模å¼ï¼Œç”šè‡³æ˜¯æ¸²æŸ“åŽçš„ Markdown 模å¼ã€‚团队中的æ¯ä¸€ä¸ªæˆå‘˜éƒ½å¯ä»¥é€‰æ‹©æœ€é€‚åˆä»–ä»¬çš„ç‰ˆæœ¬ã€‚ä¸¾ä¾‹è€Œè¨€ï¼Œç½‘é¡µè§†å›¾é€šå¸¸ç”¨äºŽæŸ¥çœ‹ç»†å¾®å˜æ›´ï¼Œè€Œå¯¹äºŽæ›´å¤§çš„å˜æ›´ï¼Œæˆ‘习惯于使用 `vimdiff` 或 [Meld][10] 在本地æµè§ˆã€‚ - -检查的注释å¯ä»¥æ•´ä½“æäº¤åˆ°å˜æ›´ä¸­ï¼Œä¹Ÿå¯ä»¥æäº¤åˆ°æŒ‡å®šå˜æ›´ä¸­çš„个别行中。一些项目é™åˆ¶äº†è¡Œçš„æœ€å¤§é•¿åº¦ï¼Œå³ç¡¬æ¢è¡Œï¼Œæˆ–者一行一å¥ï¼Œä»¥ä½¿å¾—呿–‡æœ¬çš„ç‰¹å®šçš„éƒ¨åˆ†æ·»åŠ æ³¨é‡Šæ›´åŠ å®¹æ˜“ã€‚è¿›ä¸€æ­¥çš„å˜æ›´ä¸Žæ³¨é‡Šå¯ä»¥åœ¨æ£€æŸ¥å®ŒæˆæŽ¥å—å˜æ›´æ—¶æ·»åŠ ã€‚ç”±äºŽæ‹‰å–请求在项目仓库以队列形å¼å±•ç¤ºï¼Œè¿™æ˜¯å¾ˆå¥½çš„æ–¹å¼æ¥å±•ç¤ºç›®å‰æ­£åœ¨è¿›è¡Œçš„任务以åŠéœ€è¦è¿›è¡Œæ£€æŸ¥æ“作的任务。diff 工具使得评审人员更方便地加入他们的æ€è€ƒã€‚尤其是你在与技术å—众工作时,你å¯ä»¥é€šè¿‡ä»–们日常使用的工具获得æ¥è‡ªä»–们的评论。 - -### æŒç»­é›†æˆä¸Žéƒ¨ç½² - -ä»¥çº¯æ–‡æœ¬å½¢å¼æ‹¥æœ‰ä½ çš„æ–‡æ¡£çš„æºä»£ç æœ‰å¾ˆå¤šç›Šå¤„,你å¯ä»¥è½»æ˜“æ‰¾åˆ°æ¯æ¬¡éœ€è¦ä¿®æ”¹çš„ä½ç½®ï¼Œä½ å¯ä»¥ä½¿ç”¨çŽ°æœ‰çš„è¯¸å¦‚ [wc][11]ã€[grep][12]或 `tree` 之类的工具在潜在的大型文档集中工作。当你将这些与æºä»£ç ç®¡ç†å¹³å°ç»“åˆèµ·æ¥ä¹‹åŽï¼Œä½ å¯èƒ½èŽ·å¾—æ›´å¤šçš„å¯ç”¨å·¥å…·ï¼Œå¹¶ä¸”它们都是开æºçš„。 - -å¦ä¸€ä¸ªå·¥ä½œæµç¨‹ä¸Šçš„巨大æå‡æ˜¯æŒç»­éƒ¨ç½²çš„èƒ½åŠ›ã€‚ç®€å•æ¥è¯´ï¼Œè¿™æ„味ç€ï¼Œæ¯å½“一个拉å–请求被åˆå¹¶åˆ°ä¸»é¡¹ç›®ä¸­ï¼Œé¡¹ç›®å¯ä»¥ç›´æŽ¥è‡ªåŠ¨åŒ–éƒ¨ç½²åˆ°ä½ã€‚å¦‚æžœå˜æ›´å¥½åˆ°è¶³ä»¥æŽ¥æ”¶è¿›é¡¹ç›®ä¸­ï¼Œä»–åŒæ—¶å¯ä»¥åœ¨æ–‡æ¡£é¡µé¢ä¸­å®žæ—¶æ›´æ–°ï¼Œä»Žè€Œå¸®åŠ©åˆ°ä½ çš„è¯»è€…ã€‚å…¸åž‹æƒ…å†µä¸‹ï¼ŒæŒç»­éƒ¨ç½²æ˜¯é…置在任æ„一å°åˆ†ç¦»çš„自动化æœåŠ¡å™¨ä¸Šçš„ï¼Œæ¯”å¦‚ [Jenkins][13] 或者 [Git Hooks][14]。ä¸è®ºå“ªç§æ–¹å¼ï¼ŒåŸºäºŽæ–‡æœ¬çš„æ ‡è®°è¯­è¨€ä¸Ž Doc as Code å¹³å°(é€šå¸¸æ˜¯é™æ€ç½‘页生æˆå™¨ï¼Œæ¯”如 [Hugo][15] 或 [Sphinx][16])ç»“åˆæ¥ç”Ÿæˆæ–‡æ¡£ç½‘站,然åŽè‡ªåŠ¨éƒ¨ç½²ã€‚ - -在部署之å‰ï¼ŒåŒæ ·çš„自动化æµç¨‹å¯ä»¥è¢«ç”¨äºŽå¯¹å°†è¦åˆå¹¶çš„æ‹‰å–è¯·æ±‚è¿›è¡Œæ£€æŸ¥ã€‚åœ¨ä¸€ä¸ªç¼–ç¨‹é¡¹ç›®ä¸­ï¼Œé€šè¿‡è®¡ç®—æœºè‡ªè¡Œè¿›è¡Œä»£ç æ£€æŸ¥ã€ä»£ç æµ‹è¯•å’Œå…¶ä»–çš„è´¨é‡æ£€æŸ¥å·²ç»ä¹ ä»¥ä¸ºå¸¸ã€‚通过类似 [Vale][17] ä¹‹ç±»çš„å·¥å…·è¿›è¡Œæ–‡æœ¬æ£€æŸ¥ã€æ–‡æ¡£é¡¹ç›®ä¹Ÿå¯ä»¥åŒæ ·å¯¹å¾…,你也å¯ä»¥æ·»åŠ å…¶ä»–çš„å·¥å…·ï¼Œæ¯”å¦‚æ·»åŠ ä¸€ä¸ªé“¾æŽ¥æ£€æŸ¥å™¨æ¥ç¡®ä¿æ–‡ä¸­æ‰€æœ‰çš„链接都是有效的。 - -### 用于文档æµç¨‹çš„代ç å·¥å…· - -被工程师们熟知并喜爱的工具都是éžå¸¸å¥½çš„å·¥å…·ï¼Œå®ƒä»¬åŒæ—¶ä¹Ÿå¯ä»¥ç”¨äºŽå…¶ä»–类型的项目中。在文档项目中,它们æå‡äº†å®è´µçš„æ•ˆçŽ‡ï¼Œå°¤å…¶æ˜¯å½“ä½ å¸Œæœ›ä½ çš„æ–‡æ¡£ä¸Žä½ çš„å›¢é˜ŸåŒæ­¥æŽ¨è¿›çš„æ—¶å€™ã€‚上é¢è®¨è®ºåˆ°çš„æ‰€æœ‰å·¥å…·éƒ½æ˜¯å¼€æºçš„,你å¯ä»¥äº²è‡ªå°è¯•,为大型全çƒå›¢é˜Ÿéƒ¨ç½²ä»–ä»¬ï¼Œäº¦æˆ–è€…ä»‹äºŽä¸¤è€…ä¹‹é—´ï¼Œæœ€ç»ˆä½¿ä½ çš„æˆæ–‡è¿‡ç¨‹å’Œç¼–程过程一样顺畅。 - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/10/docs-as-code - -作者:[Lorna Mitchell][a] -选题:[lkxed][b] -译者:[CanYellow](https://github.com/CanYellow) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) è£èª‰æŽ¨å‡º - -[a]: https://opensource.com/users/lornajane -[b]: https://github.com/lkxed -[1]: https://www.writethedocs.org/guide/docs-as-code -[2]: https://opensource.com/article/17/9/docbook -[3]: http://commonmark.org -[4]: https://opensource.com/article/20/12/eclipse -[5]: https://opensource.com/article/21/10/markdown-editors -[6]: https://opensource.com/downloads/cheat-sheet-git -[7]: https://opensource.com/article/18/1/step-step-guide-git -[8]: https://opensource.com/article/19/4/write-git -[9]: https://opensource.com/article/21/11/linux-diff-patch -[10]: https://opensource.com/article/20/3/meld -[11]: https://www.redhat.com/sysadmin/linux-wc-command?intcmp=7013a000002qLH8AAM -[12]: https://opensource.com/downloads/grep-cheat-sheet -[13]: https://www.jenkins.io -[14]: https://www.redhat.com/sysadmin/git-hooks -[15]: https://opensource.com/article/18/3/start-blog-30-minutes-hugo -[16]: https://opensource.com/article/19/11/document-python-sphinx -[17]: https://vale.sh