程序员真是越来越懒了,Api 文档都懒得写?程序员:Api工具惯的!

关于大多数程序员不爱写文档问题, 我觉得可以从两个方面去拆解:主观原因、客观原因。

1. 客观 - 时间紧任务重,需求变化快

需求方每次都是紧急需求,老板每次都要求敏捷开发,快速响应。按时交付的压力已经让大多数程序员不堪重负,更别提写代码的同时同步维护文档了。而不写文档,或者糊弄文档又不影响开发进度。尤其是互联网公司,需求变化非常快,代码不停的迭代,文档来不及更新,和实际代码差异很大。天天加班做需求了,哪来的时间写文档。

2. 主观 - 缺乏经验,写作困难

正是由于长期不写文档或者随便一写,当需要去写的时候,发现无从下笔,写作可太难了!!!

而接口文档的要求相对来说较高,不仅需要内容详实,把问题讲清楚,还需要有清晰的层级结构,让其他读者快速获取到需要的信息,这对经常写代码缺乏文档经验的我们来说,本身也是一项挑战。还记得写晋升答辩 PPT 的痛苦场面吧~

当然,不写文档的问题也不能责怪程序员,更深层级的原因可能是公司流程、制度、管理等等方面的,这里就不展开说了,请各位领导不要对号入座。

对于写文档这件事情来说,往往短期高估文档的重要性,长期低估文档的重要性。短期以项目按时交付为主,项目细节也都还烂熟于心,但是长期来说,随着大脑的记忆内存被逐渐回收,当再次迭代之前的代码时,甚至有人员变更时,缺乏文档的部分往往成为黑盒子,与其花大量时间去探索解密别人的代码,还不如整体重构来得快!于是,我们似乎陷入了工作永远做不完的怪圈:

针对文档管理的问题,Eolink 提供了完美的解决方案,满足了 Api 文档管理的 4 个强大能力。

  • 根据代码生成文档

  • 便捷的调试体验和自动生成测试数据

  • 支持多场景分享文档

  • 标准规范的 API 管理工具

同时,在 API 研发管理平台 中,也可以通过三种方式来一键创建 API 文档:

  • 手动创建 API 文档

  • 关联项目与代码仓库自动创建文档

  • 关联项目与 Swagger URL 自动创建文档

3.1 手动创建 API 文档

API 研发管理平台提供了非常全面的 API 文档格式,能够详细记录您的 API 信息。这种方式适合所有用户,也是我大力推荐的方式。

官网体验链接:https://www.eolink.com/

操作方法:登录 Eolink 后,在项目详情页点击左侧 API 文档功能,进入 API 管理页面,点击 添加 API,会进入 API 创建页面。

私有云产品比线上 SaaS 产品支持更多的 API 协议,比如 TCP、UDP、SOAP、HSF 等。

API 编辑页面中可以填写 API 文档、返回数据、额外说明等信息,您可以通过顶部的标签切换。

3.2 关联项目与 Swagger URL 自动创建文档

API 研发管理平台自动从该地址获取最新 API 文档。这种方式适合之前已经在使用 Swagger,并且倾向于将文档写在代码注解中的用户。但这种方式会带来代码入侵的问题,让代码中加入了许多无关的信息从而增加维护成本。

操作方法:您可以给项目关联 Swagger 生成的 JSON 文件地址,API 研发管理平台能够远程读取 Swagger JSON 并自动生成 API 文档。

进入 API 管理与测试,选择项目,点击左侧栏的其他可以看到 API 文档生成:

点击添加来源,在弹窗中选择通过 Swagger URL 生成 API 文档,然后点击下一步:

输入 Swagger 生成的 JSON 地址,注意该 JSON 地址需要能够通过网络访问,并且该地址返回的数据需要是 JSON 类型的数据,否则会提示无法访问该地址。

配置完成后,界面会提示配置完成。此时您可以通过在当前页面页点击 同步 按钮,或者通过 Open API 触发同步操作。

3.3 关联项目与代码仓库自动创建文档

API 研发管理平台自动从代码仓库中扫描代码注解生成 API 文档。目前这种方式支持 Java 以及 PHP 两种语言。这种方式也会带来代码入侵的问题。

可以给项目关联代码仓库,API 研发管理平台 能够远程读取仓库中的代码注解并自动生成 API 文档,能够识别 Swagger 2.0、OpenAPI 3.0 的代码注解格式。当然,为了标准化管理,新的规范都用 OpenAPI 3.0 了。

看起来,目前支持的仓库类型有:Github、Gitlab、码云等等。

操作方法:进入项目页,点击其他,再点击 API 文档生成添加来源 ,在弹窗中设置需要扫码的代码仓库,点击立即同步即可。

GitHub 配置(其他代码仓库也支持,详见官网)

3.4 基于IDEA插件,零注释生成文档

更加牛逼的自动化生成方式是:“基于IDEA插件零注释生成文档”。

零注释生成文档,安装和配置方法:

  1. 在IDEA插件市场中搜索“apikit”,找到“Eolink ApiKit”插件安装即可。

  1. 目前仅支持2020.03-2022.03版本的IDEA

  1. 首次上传需要填写配置信息,配置信息项目之间独立

  1. 配置信息获取途径:SpaceKey和ProjectHashKey通过Eolink的web版url中的参数获取,token填自己Eolink帐号,服务器填目标服务器域名。

  • 如果使用的是SaaS,server后需要加上/api

  • 如果使用的是私有云版本,需要在server后加上index.php

  • token目前使用的是个人帐号(邮箱/手机/帐号)

  • StringType决定出入参的字符串类型,只有参数名一开始就是遵守驼峰规范才会发现改变,预览窗口可看到变化结果

 强大的 Eolink,不仅帮我们解决了写文档,管理文档,迭代变更沟通协调等诸多问题。还有许许多多的惊喜,留给你自己探索吧!!

文章转载自:小Kit

原文链接:https://www.cnblogs.com/apibest/p/17028400.html

体验地址:引迈 - JNPF快速开发平台_低代码开发平台_零代码开发平台_流程设计器_表单引擎_工作流引擎_软件架构

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Charles的基础使用教程【Mac】

目录 1.安装 2.抓取https请求的前置操作 2.1安装证书: 2.2、SSL代理设置 3.Charles初识 1.安装 官网Charles下载安装即可,没有什么需要注意的地方 2.抓取https请求的前置操作 2.1安装证书: 未安装证书是这样的: 上述我们可…

【fiddler】fiddler抓包工具的使用

前言:我们可以通过fiddler软件,捕获到http请求,并修改请求参数 修改返回内容 fiddler下载,官网如下图 启动fiddler软件,点击file 选择 Capture Traffic 修改入参 (我们以谷歌浏览器发起请求为例) 此时会出现一个向上的箭头,点击…

SSM图书管理系统完整版

1.系统开发环境 开发工具:eclipse ,SQLyog Community 数据库:mysql 8.0开发环境:jdk1.8 , tomcat 8.5后端框架:ssm 前端技术:htmlcssjavascript , layui,jquery,ajax 2.系统功能介绍…

Capsolver:解决Web爬虫中CAPTCHA挑战的最优解决方案

Web爬虫已经成为从各种在线来源提取和分析数据的不可或缺的技术。然而,在Web爬取过程中,经常会遇到的一个共同挑战是CAPTCHA。CAPTCHA(完全自动化的公共图灵测试,用于区分计算机和人类)是一种安全措施,旨在…

设置进程优先级

#include <windows.h>int main() {// 获取当前进程的句柄HANDLE hProcess GetCurrentProcess();// 设置当前进程的优先级为高SetPriorityClass(hProcess, HIGH_PRIORITY_CLASS);// 执行其他代码return 0; }进程优先级 标志 idle &#xff08;低&#xff09; IDL…

深度学习分类问题中accuracy等评价指标的理解

在处理深度学习分类问题时&#xff0c;会用到一些评价指标&#xff0c;如accuracy&#xff08;准确率&#xff09;等。刚开始接触时会感觉有点多有点绕&#xff0c;不太好理解。本文写出我的理解&#xff0c;同时以语音唤醒&#xff08;唤醒词识别&#xff09;来举例&#xff0…

教学/直播/会议触摸一体机定制_基于展锐T820安卓核心板方案

触控一体机是一种集先进的触摸屏、工控和计算机技术于一体的设备。它取代了传统的键盘鼠标输入功能&#xff0c;广泛应用于教学、培训、工业、会议、直播、高新科技展示等领域。触摸一体机的应用提升了教学、会议和展示的互动性和信息交流。 触摸一体机方案基于国产6nm旗舰芯片…

[Vulnhub靶机] DriftingBlues: 3

[Vulnhub靶机] DriftingBlues: 3靶机渗透思路及方法&#xff08;个人分享&#xff09; 靶机下载地址&#xff1a; https://download.vulnhub.com/driftingblues/driftingblues3.ova 靶机地址&#xff1a;192.168.67.19 攻击机地址&#xff1a;192.168.67.3 一、信息收集 1.…

时代变了,Spring 官方抛弃了 Java 8!

先容许我吐槽一句&#xff1a;Spring 官方&#xff0c;窝草尼玛&#xff01; 原谅我很愤怒&#xff01;最近编程导航星球和群友们反复问一个问题&#xff1a;为啥用 IDEA 创建 Spring Boot 项目时&#xff0c;不能选择 Java 8 了&#xff1f; 我本来以为是 IDEA 版本更新导致的…

SpringBoot集成沙箱支付

前言 支付宝沙箱支付&#xff08;Alipay Sandbox Payment&#xff09;是支付宝提供的一个模拟支付环境&#xff0c;用于开发和测试支付宝支付功能的开发者工具。在真实的支付宝环境中进行支付开发和测试可能涉及真实资金和真实用户账户&#xff0c;而沙箱环境则提供了一个安全…

FlagData 2.0:全面、高效的大模型训练数据治理工具集

数据是大模型训练至关重要的一环。数据规模、质量、配比&#xff0c;很大程度上决定了最后大模型的性能表现。无论是大规模的预训练数据、精益求精的SFT数据都依托于一个完整的“获取-准备-处理-分析”数据流程。然而&#xff0c;当前的开源工具通常只专注于流程中的某一环节&a…

贪心算法:活动选择问题以及贪心选择性质证明

什么时候使用贪婪算法? – 贪心选择特性: 全局的最优解可以通过局部的最优&#xff08;贪婪&#xff09; 选择得到. • 动态规划需要检查子问题的解。 – 最优子结构: 问题的最优解包含了其子问题的最优解. • 例如, 如果 A 是S的最优解, 那么 A A - {1} 是 的最优解. …