Doc as Code (3):业内人士的观点

news2024/9/24 1:24:29

06f30fa33c174ee5bc05bffd3d5253ae.png 

作者 | Anne-Sophie Lardet

在技术传播国际会议十周年之际,Fluid Topics 的认证技术传播者和功能顾问 Gaspard上台探讨了“docOps 作为实现Doc as Code的中间结构”的概念。在他的演讲中,观众提出了几个问题,我们想分享Gaspard的见解!

首先,让我们从Doc as Code的介绍开始。

- 1 -

什么是Doc as Code

Doc as Code是应用软件开发流程和工具来交付技术文档。它使用与开发团队相同的工作流程和工具,包括版本控制系统、自动化测试、问题跟踪器等。它还依赖于轻量级文件的生产和管理。

Doc as Code相当容易获得且易于使用。 需要的工具是极简的,通常是免费的,并且像文本编辑器一样简单。Markdown 或 AsciiDoc 等轻量级格式是开始使用Doc as Code的最快方法,因为它们都可以处理纯文本文件。

与任何技术范例一样,Doc as Code有其优点和缺点。

优点

  • 它促进TW和开发人员之间的合作

  • 您可以使用与开发人员相同的工具

  • 它让开发人员一起参与文档生产制作

  • 它降低了软件许可和支持服务的总体成本

缺点

  • 需要更深的技术知识

  • 最适合软件产品的文档

许多机构和公司已转向Doc as Code作为他们的文档流程。英国政府的技术文档团队使用Doc as Code来提供服务和平台。Spotify、Cloudfare、Kubernetes、Twitch、Arundo、Netflix设备,甚至Bitcoin等公司都使用静态站点生成器(SSG)Jekyll,这是Doc as Code场景最常见的发布工具之一。

- 2 -

与DITA可能存在哪些交互?

Doc as Code和DITA的基本原理是不同的,但两者可以共存。

2019年6月,Heretto联合创始人兼首席执行官Patrick Bosek发表了《和睦相处:DITA和Markdown》。他做了如下类比:

Markdown就像一把铲子,DITA就像一台挖土机。有些人从未使用过挖土机,认为它太复杂了。然后,建造大型建筑的建筑工人说:你不能用铲子建造大型建筑。

如果你一个人开始一个项目,却不知道如何操作挖土机,那么铲子似乎是显而易见的选择。他们俩在世界上都有一席之地,任何建筑工地都会有铲子和挖土机。

Bosek强调了这样一个事实,即每个文档标准都有其优势,我们应该利用每一个标准的长处。

DITA和Doc as Code常用的格式之间存在潜在的联系。

  • 轻量级DITA

您可以使用轻量级DITA来弥合结构化内容和连续文档之间的差距,轻量级DITA是DITA的简化版本,使用DITA元素类型、属性、内容模型的子集和简化的功能子集。轻量级DITA旨在结合HTML5(HDITA)和Markdown(MDITA),它不是为了取代DITA。它主要针对那些将不懂DITA的员工融入文档组织。它允许作者跨不同的部门来进行编辑、协作或发布。

  • DITA辅助编辑模式

当有良好用户体验的界面提供支持时(即:有好用的编辑器),利用 XML 的好处可能是有意义的。随着文档化自动化技术向最终用户友好界面发展,开发人员可能需要访问专门的编辑和管理环境。有一些解决方案可以帮助生成一致的DITA,如Oxygen XML、IXIASOFT、Heretto、DitaToo、Composize等。

- 3 -

可以添加元数据吗?

有些内容需要比其他内容有更多的语义。在DITA系统中,有不同的方法可以在Topic或Map级别声明和添加元数据。不幸的是,使用Markdown,虽然可以调整现有内容并添加元数据,但没有像DITA那样提供语义化。以下是一些如何做到这一点的提示:

  • 使用YAML文件将元数据与模板语言相结合

  • 利用Markdown文件的header或为每个相关目录创建一个README文件

  • 使用Markdown特定风格,如Kramdown,它向内联元素添加类和ID

  • 将带有class属性的HTML标签与Markdown内容结合起来

  • 利用类似AsciiDocsy的SSG,它使用内联语义。

    例如:.term, .cite, .cmd, .code, .gui, .path, .case和.tip

- 4 -

是否仅限于软件行业?

Doc as Code确实适合很多公司,但通常仍与软件开发有关。

重工业在编制技术文件时使用有约束力的规范,如航空、航天、海军、核能和铁路的S1000D标准。有一些特定的要求和时间表与软件行业不同,因此Doc as Code很难应用。

另一方面,Doc as Code作为一个全球的环境可能适用于不同的内容来源、知识库、教育内容,甚至依赖聊天机器人的技术。

- 5 -

给初次尝试团队的建议

  • 循序渐进,从试点开始,熟悉版本控制系统和协作工作流

  • 提升TW的GIT技能

  • 促进技术文档团队和开发人员之间的沟通,让他们参与到文档流程中,并帮助他们确定工作的优先级

  • 花点时间选择和评估用于发布的现有解决方案(如静态站点生成器)是否符合您的需求

  • 为每个存储库创建一个README文件,以了解项目范围、所需资源、原则和指南

  • 开发模板,实施样式指南,代码检查,并考虑将其集成到CI/CD管道中

  • 比较Markdown的不同风格,并考虑使用AsciiDoc甚至轻量级DITA进行创作

  • 随时了解专业社区共享的文章、研讨会和资源:

    • Write the docs:

      https://www.writethedocs.org/

    • Tom Johnson:

      https://idratherbewriting.com/

    • Anne Gentle:

      https://justwriteclick.com/

    • Brian Dominick:

      https://github.com/briandominick

 

英文原文地址: https://www.fluidtopics.com/blog/tech-talk/an-insiders-look-at-docs-as-code/

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/810856.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入学习 Redis - 渐进式遍历 scan 命令、数据库管理命令

目录 前言 一、scan 命令 二、数据库管理命令 select dbsize flushdb / flushall 前言 之前我们所了解到的 keys * 是一次性把整个 redis 中所有的 key 都获取到,但是整个操作比较危险,可能会一下子的都太多的 key,阻塞 redis 服务器. …

NLP(六十三)使用Baichuan-7b模型微调人物关系分类任务

任务介绍 人物关系分类指的是对文本中的两个人物,在特定的关系列表中,判断他们之间的人物关系。以样本亲戚 1837年6月20日,威廉四世辞世,他的侄女维多利亚即位。为例,其中亲戚为人物关系,威廉四世为实体1&a…

vins调试的注意事项

1、摄像头的内参和畸变矫正系数 这个系数不对,没法做,因为下一步没法做对。这个会导致系统无法初始化。 2、对畸变的像素点,求得归一化坐标的方法 理解不同矫正模型的原理,确保矫正对了,得到z1平面的去畸变点。 3、摄…

python皮卡丘编程代码教程,用python打印皮卡丘

大家好,小编来为大家解答以下问题,如何用print函数打印一只皮卡丘,用python如何打印丘比特之心,现在让我们一起来看看吧!

CCL 2023 电信网络诈骗案件分类评测-第一名方案

1 任务内容 1.1 任务背景 2022年12月1日起,新出台的《反电信网络诈骗犯罪法》正式施行,表明了我国治理当前电信网络诈骗乱象的决心。诈骗案件分类问题是打击电信网路诈骗犯罪过程中的关键一环,根据不同的诈骗方式、手法等将其分类&#xff…

13个ChatGPT类实用AI工具汇总

在ChatGPT爆火后,各种工具如同雨后春笋一般层出不穷。以下汇总了13种ChatGPT类实用工具,可以帮助学习、教学和科研。 01 / ChatGPT for google/ 一个浏览器插件,可搭配现有的搜索引擎来使用 最大化搜索效率,对搜索体验的提升相…

【机器学习】Linear Regression

Model Representation 1、问题描述2、表示说明3、数据绘图4、模型函数5、预测总结附录 1、问题描述 一套 1000 平方英尺 (sqft) 的房屋售价为300,000美元,一套 2000 平方英尺的房屋售价为500,000美元。这两点将构成我们的数据或训练集。面积单位为 1000 平方英尺&a…

C++ 类和对象篇(零) 面向过程 和 面向对象

目录 一、面向过程 二、面向对象 三、两种编程思想的比较 四、C和C 一、面向过程 1.是什么? 是一种以解决问题的过程为中心的编程思想。即先分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现。 2.为什么? 面向过程就纯粹是分析…

基于x-scan扫描线的3D模型渲染算法

基于x-scan算法实现的z-buffer染色。c#语言&#xff0c;.net core framework 3.1运行。 模型是读取3D Max的obj模型。 x-scan算法实现&#xff1a; public List<Vertex3> xscan() {List<Vertex3> results new List<Vertex3>();SurfaceFormula formula g…

SAP 自定义BADI增强点

应用场景 标准化代码中预留客制化部分&#xff0c;保证代码主体完整性&#xff0c;可以在预留增强位置预留两种类型的增强处理&#xff0c;其一为标准增强类型的&#xff0c;增强部分代码属于增加的逻辑&#xff0c;其二对于部分多样化的逻辑&#xff0c;使用优先执行默认逻辑&…

Java常用API:Object、Objects、包装类

Object类API toString 返回字符串类型 equals 默认比较的是地址 此时返回的是 false 可以在类中重写equals 方法 比较内容 如果内容一样就返回true clone 不能在测试类中用&#xff0c;必须在创建的类中重写克隆方法 还必须要有接口&#xff0c;说明这个对象有这个能力克隆 …

增量预训练baichuan-13b-chat遇到的那些坑

文章目录 前言资源deepspeed一、训练的坑二、推理的坑三、继续训练的坑总结前言 资源 单机两4090,如图 单卡24G,baichuan-13b-chat单卡推理需要至少26G,因此仅用一张卡,我们是无法加载百川13B的模型,所以,无论是推理还是训练,我们都必须并行! deepspeed 核心思想…

主干网络篇 | YOLOv8 更换主干网络之 VanillaNet |《华为方舟实验室最新成果》

论文地址:https://arxiv.org/pdf/2305.12972.pdf 代码地址:https://github.com/huawei-noah/VanillaNet 在基础模型的核心是“多样性即不同”,这一哲学在计算机视觉和自然语言处理方面取得了惊人的成功。然而,优化和Transformer模型固有的复杂性带来了挑战,需要转向简洁性…

Python-Python基础综合案例--数据可视化 - 地图可视化

版本说明 当前版本号[20230729]。 版本修改说明20230729初版 目录 文章目录 版本说明目录知识总览图Python基础综合案例--数据可视化 - 地图可视化基础地图使用案例效果视觉映射器 疫情地图-国内疫情地图案例效果实操设置全局配置选项 疫情地图-省级疫情地图案例效果实操 知…

spring拦截器 与统一格式

目录 前言模拟拦截器拦截器的实现原理什么是动态代理? 什么是静态代理静态代理与动态代理的区别两种常用的动态代理方式基于接口的动态代理基于类的动态代理 JDK Proxy 与 CGlib的区别 其他 统⼀访问前缀添加统⼀异常处理统⼀数据返回格式 前言 之前博客讲述了 , 关于SpringA…

Kotlin~Memento备忘录模式

概念 备忘录模式是一种行为型设计模式&#xff0c;用于捕获和存储对象的内部状态&#xff0c;并在需要时将对象恢复到之前的状态。 备忘录模式允许在不暴露对象内部实现细节的情况下&#xff0c;对对象进行状态的保存和恢复。 角色介绍 Originator&#xff1a;原发器&#x…

7.事件类型

7.1鼠标事件 案例-轮播图点击切换 需求&#xff1a;当点击左右的按钮&#xff0c;可以切换轮播图 分析: ①右侧按钮点击&#xff0c;变量&#xff0c;如果大于等于8&#xff0c;则复原0 ②左侧按钮点击&#xff0c;变量–&#xff0c;如果小于0&#xff0c;则复原最后一张 ③鼠…

Zotero ubuntu2023安装 关联 ubuntu文献翻译

一、准备下载的软件&#xff1a; Zotero | Downloads 1. Zotero-6.0.26_linux-x86_64.tar.bz2 下面是插件 zotfile-5.1.2-fx.xpi zotero-pdf-translate.xpi jasminum-v0.2.6.xpi 2.2.5 Tampermonkey 4.11.crx 所准备的文件&#xff0c;都已经在这个链接的压缩包下面 …

【机器学习】Multiple Variable Linear Regression

Multiple Variable Linear Regression 1、问题描述1.1 包含样例的X矩阵1.2 参数向量 w, b 2、多变量的模型预测2.1 逐元素进行预测2.2 向量点积进行预测 3、多变量线性回归模型计算损失4、多变量线性回归模型梯度下降4.1 计算梯度4.2梯度下降 首先&#xff0c;导入所需的库 im…

【Maven】让maven更高效,优化maven构建项目速度

打开idea的setting&#xff0c;找到maven&#xff0c;设置它多线程数&#xff0c;重启后即可&#xff01; 我这里是8&#xff0c;你们可以随便设置。 如下图&#xff1a;