现在的程序员真是越来越懒了,api 文档都懒得写!程序员:“api工具惯的”

news2024/12/23 18:04:49

为了让大家更能清楚了解 Api 相关往期内容,我写了一个阅读指引:

序号学习路径指引链接
1Api -- 连接世界的 Super StarApi -- 连接世界的Super Star_不吃西红柿丶的博客-CSDN博客
2软件吞噬世界,Api 快速入门到放弃软件吞噬世界,Api快速入门到放弃_不吃西红柿丶的博客-CSDN博客
3Apifox vs Eolink,国内 Api 工具哪家强?Apifox vs Eolink,国内 Api 工具哪家强?_不吃西红柿丶的博客-CSDN博客
4都 2203 年了,还有人使用 word 调试 Api !!!活久见:都 2203 年了,你还在使用 word 调试 API_不吃西红柿丶的博客-CSDN博客
5现在的程序员真是越来越懒了,api 文档都懒得写!程序员:“api工具惯的”现在的程序员真是越来越懒了,api 文档都懒得写!程序员:“api工具惯的”_不吃西红柿丶的博客-CSDN博客
  • 🍐 一、程序员为什么不爱写文档?是他们变懒了吗?
    • 🍞 1. 客观 - 时间紧,任务重
    • 🍆 2. 主观 - 缺乏经验,写作困难
    • 🥕 3. 客观 - 需求变化快
  • 🥔 二、写文档这么麻烦,那我们就不写了吗?
  • 🍤 三、自动生成文档,解决一切烦恼
    • 🍖 3.1 手动创建 API 文档
    • 🍕 3.2 关联项目与 Swagger URL 自动创建文档
    • 🌽 3.3 关联项目与代码仓库自动创建文档
    • 🍎 3.4 基于IDEA插件,零注释生成文档
  • 🍎 四、小编有话

🍐 一、程序员为什么不爱写文档?是他们变懒了吗?

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

🍞 1. 客观 - 时间紧,任务重

需求方每次都是紧急需求,老板每次都要求敏捷开发,快速响应

按时交付的压力已经让大多数程序员不堪重负,更别提写代码的同时同步维护文档了。而不写文档,或者糊弄文档又不影响开发进度

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

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

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

🥕 3. 客观 - 需求变化快

尤其是互联网公司,需求变化非常快,代码不停的迭代,文档来不及更新,和实际代码差异很大。天天加班做需求了,哪来的时间写文档。

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

🥔 二、写文档这么麻烦,那我们就不写了吗?

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

于是,我们似乎陷入了工作永远做不完的怪圈:

🍤 三、自动生成文档,解决一切烦恼

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

  • 根据代码生成文档

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

  • 支持多场景分享文档

  • 标准规范的 API 管理工具

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

  • 手动创建 API 文档

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

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

🍖 3.1 手动创建 API 文档

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

官网体验链接: 点我体验 Api 专业工具 !!! 

操作方法: 登录 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 配置(其他代码仓库也支持,详见官网)

配置项说明
代码仓库类型选择 Github
代码仓库地址默认填写 Github 官网
用户名Github 账户名称
仓库名Github Repository 仓库名称
访问私钥仓库私人令牌在 GitHub Repository 的 Settings->Developer settings->Personal access tokens 中生成
需要扫描的分支默认为 master 分支,您也可以选择实际需要扫描的代码分支
需要扫描的 API 目录路径API 层相关代码的存放路径
需要扫描的数据结构目录路径数据结构相关配置信息的存放路径

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

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

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

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

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

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

  4. 配置信息获取途径:SpaceKey和ProjectHashKey通过Eolink的web版url中的参数获取,token填自己Eolink帐号,服务器填目标服务器域名。
    • 如果使用的是SaaS,server后需要加上/api

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

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

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

🍎 四、小编有话

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

官网体验链接: 点我体验 Api 专业工具 !!! 

最后,让我们大声喊出他的名字: 我要下班!

不对,文档还没写完怎么下班,跟我重新喊:E O L I N K !!!

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

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

相关文章

为什么在vue2中改变数据视图不会更新,带你阅读源码

1. 监听数组变化 其实 Vue 监听数组变化的原理非常简单, 就是将数组的主要方法包裹了一遍只要用户调用以下方法, 就会通知 Watcher 自动更新视图: push()pop()shift()unshift()splice()sort()reverse() 演示 工程源码: src/core/observer/array.js // 获取数组的原型 Array.…

jsp servlet mysql实现的二手车汽车管理系统项目源码附带视频指导运行教程

今天给大家演示一下由jsp servlet mysql实现的一款简单的二手车汽车管理系统,系统设计采用了mvc分层的模式,结构非常清晰,功能虽简单,但是把所有可能用到的功能都实现了,往上面添加功能很简单,直接复制代码…

木聚糖-聚乙二醇-苯硼酸,PBA-PEG-Xylan,苯硼酸-PEG-木聚糖

木聚糖-聚乙二醇-苯硼酸,PBA-PEG-Xylan,苯硼酸-PEG-木聚糖 中文名称:木聚糖-苯硼酸 英文名称:Xylan-PBA 别称:苯硼酸修饰木聚糖,PBA-木聚糖 PEG接枝修饰木聚糖 木聚糖-聚乙二醇-苯硼酸 PBA-PEG-Xylan…

这样设置你的头像更容易火,自媒体7类头像优劣分析,变现路更轻松

你必须知道的知识:个人IP自媒体短视频头像设置的7种选择。 首先头像无非就是露脸的或者不露脸的两种。 其实大家做IP的话,建议大家露脸。这是在我赢助手小禾呈序个人IP培养里特别强调的,这个说的不光是你的头像,还有你的视频&…

私有化部署,加强文档管理系统稳定性

编者按:本文介绍了天翎知识文档管理系统结合群晖NAS解决方案是如何在企业系统的稳定性和安全星这块实践的。 关键词:私有化部署,外网访问,数据备份,安全技术,病毒防护 用于管理企业大量文档资料的系统&am…

A-level商务例题解析及练习market segmentatio

今日知识点:market segmentatio 例题 Q: Discuss how market segmentation could be used to improve the profitability of a hotel.解析 Answers may include: market segmentation – identify different segments within a market and target different produc…

Python for循环

Python的for循环 一、for循环 for循环:循环就是重复做某件事,for循环是python提供第二种循环机制(第一种是while循环),理论上for循环能做的事情,while循环都可以做。 目的:之所以要有for循环…

自定义HandlerMethodArgumentResolver如何注册到springmvc框架里的

目录 1.DEBUG 注册代码 1.1 WebMvcConfigurerComposite 1.2 DelegatingWebMvcConfiguration 1.3 AutowiredAnnotationBeanPostProcessor 2.DEBUG调用代码 2.1 this.argumentResolvers 日常工作开发中,总有一些参数,在未传参数时,需要自定…

零编程制作疫情全国行政区地图,理性看待各地疫情防控减码

1 前言 北京宣布,12月5日首班车起,公交、地铁不得拒绝无48小时核酸阴性证明的乘客乘车。 上海宣布,12月5日零时起,乘坐地铁、公交、轮渡,不再查验核酸检测阴性证明。 杭州和宁波深夜发布,12月5日起&…

Stable Diffusion8

也写到第八了 ~~ 这次还是和mac相关哦~~ 先吹吹,苹果亲自下场优化,在iPhone、iPad、Mac等设备上以惊人的速度运行Stable Diffusion就是这么简单。 输入一句话就能生成图像的 Stable Diffusion 已经火爆数月。它是一个开源模型,而且在消费级 GPU 上就能…

如何配置settings.py文件

文章目录配置settings.py文件1) 修改语言与时区配置2) 设置时区不敏感3) 配置项目所需数据库4)学会阅读报错信息配置settings.py文件 《settings.py配置文件(详解)》一文中,将 settings.py 配置文件的每一项给大家做了介绍。在开…

Matplotlib入门[03]——处理文本

Matplotlib入门[03]——处理文本 参考: https://ailearning.apachecn.org/Matplotlib官网Python 字符串前缀r、u、b、f含义 使用Jupyter进行练习 import matplotlib.pyplot as plt import numpy as np处理文本-基础 基础文本函数 在 matplotlib.pyplot 中&#xf…

服务访问质量(QoS)介绍与技术 二

个人简介:云计算网络运维专业人员,了解运维知识,掌握TCP/IP协议,每天分享网络运维知识与技能。个人爱好: 编程,打篮球,计算机知识个人名言:海不辞水,故能成其大;山不辞石…

基于双参数蜜蜂算法解决车辆路径问题(Matlab代码实现)

目录 1 概述 1.1研究背景 2 运行结果 3 Matlab代码实现 4 参考文献 1 概述 群智能起源于自然环境中生物群体经过长期自然进化后具有的解决问题的能力,其中的许多问题在人类看来可以归属于高复杂度的优化问题。受到生态系统中一些具有社会群体特征的物种的行为启发,模仿自然…

python基础项目实战-简单版学生管理系统

我实现的学生管理系统主要涉及到的就是其中的增、删、改、查、显示、保存和退出这几个功能,分别将每一个功能单独用一个函数来实现的。 一、学生系统操作的主界面 二、学生系统主函数调用功能选项 三、学生系统学员的显示 四、学生系统学员的查找

window11安装docker小白教程

window11安装docker小白详细教程1、安装hyper-v2、安装wsl23、安装docker并初步运行1、安装hyper-v docker的运行依赖于linux内核,如果是windows的系统则需要安装一个运行linux的虚拟机。在window10及其以上的系统中可以安装hyper-v(Hyper-V 是微软开发…

A股交易接口如何用c++实现查询股东代码的?

A股交易接口是投资者获取股票市场数据的一个工具,使用A股交易接口能够得到更多更准确的信息,让你在股市当中,操作起来更加便捷和有效,对股市市场行情动向判断更加的准确一些。 股票交易接口支持各类数据的查询,那么今…

实现主成分分析 (PCA) 和独立成分分析 (ICA) (Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

面试题: LEAD 和 LAG 求每个用户的页面停留时长

我们先来看看这两个函数的语法: LEAD(col,n,default) OVER() 说明: 用于统计窗口内向下第n行的值参数1: 为要取值的列名参数2: 为向下第n行,默认值为1,这个值是固定的,不能动态的变化参数3&am…

Redis事务、pub/sub、PipeLine-管道、benchmark性能测试详解

一. 事务 1. 概念补充 (1). 原子性 一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被恢复(Rollback)到事务开始前的状态,就像这个事务从来没…