以下是经常发生在程序员之间的对话: 小张:你知道为什么程序员不喜欢写文档? 小王:因为代码就是最好的文档啊!谁还需要写那些冗长的说明呢? 小张:那你知道为什么程序员也不喜欢别人不写文档吗? 小王:当然了!写文档虽然烦人,但对团队合作和项目维护很重要。 小张:没错!我们需要养成写文档的好习惯。 小王:同意!现在让我们继续码代码吧,然后... 把那个没有文档的项目丢给别人解决!哈哈!
 

一、程序员不爱写文档?人之常情

程序员为什么不爱写文档?是他们变懒了吗? 其实这是人之常情,关于大多数程序员不爱写文档问题, 可以从两个方面去拆解:主观原因、客观原因。

1. 客观原因:时间紧,任务重

需求方每次都是紧急需求,老板每次都要求敏捷开发,快速响应
按时交付的压力已经让大多数程序员不堪重负,更别提写代码的同时同步维护文档了。而不写文档,或者糊弄文档又不影响开发进度

 
 

2. 主观原因:缺乏经验,写作困难

正是由于长期不写文档或者随便一些,当需要去写的时候,发现无从下笔,写作可太难了!!!
而接口文档的要求相对来说较高,不仅需要内容详实,把问题讲清楚,还需要有清晰的层级结构,让其他读者快速获取到需要的信息,这对经常写代码缺乏文档经验的我们来说,本身也是一项挑战。(还记得写晋升答辩 PPT 的痛苦场面吧~ )
 
 

3. 外部原因:需求变化快

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

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

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

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

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

针对文档管理的问题,Eolink Apikit 提供了完美的解决方案,满足了 Api 文档管理的 4 个强大能力。
  • 根据代码生成文档
  • 便捷的调试体验和自动生成测试数据
  • 支持多场景分享文档
  • 标准规范的 API 管理工具
 
 
同时,在 API 研发管理平台 中,也可以通过三种方式来一键创建 API 文档
  • 手动创建 API 文档
  • 关联项目与代码仓库自动创建文档
  • 关联项目与 Swagger URL 自动创建文档

3.1 手动创建 API 文档

API 研发管理平台提供了非常全面的 API 文档格式,能够详细记录您的 API 信息。这种方式适合所有用户。
操作方法: 登录 Eolink Apikit后,在项目详情页点击左侧 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帐号,服务器填目标服务器域名。
    1. 如果使用的是SaaS,server后需要加上/api
    2. 如果使用的是私有云版本,需要在server后加上index.php
    3. token目前使用的是个人帐号(邮箱/手机/帐号)
    4. StringType决定出入参的字符串类型,只有参数名一开始就是遵守驼峰规范才会发现改变,预览窗口可看到变化结果

未来,AI 加持

强大的 Eolink Apikit,不仅帮我们解决了写文档,管理文档,迭代变更沟通协调等诸多问题。还有许许多多的惊喜,留给你自己探索吧!据我所知,Eolink 团队将在产品中升级 AI 功能,写接口动几下就行,那还了得,再也不用熬夜写文档了!
可去公开的产品 Roadmap 了解 Apikit Roadmap
 
 
 

你一定要用这个API管理工具,看完你就知道为什么了的更多相关文章

  1. FREE 开源 API 管理工具等

    最近学习API 管理工具,发现几个不错的东西,记录如下: 1.IBM 收购NODE 厂家  STRONGLOOP 有一产品LOOPBACK,开源,好! 2.apigee  api管理平台 也不错. 3 ...

  2. API 管理工具

    API 管理工具 你还苦于无法有效的管理大量的API吗?今天给大家介绍一款API的管理工具.这款工具可以免费使用,虽然中途可能会提示你购买,但并不影响我们的使用. 下载地址: Windows:http ...

  3. Api管理工具(spring-rest-docs)

    对于app开发来说,必须需要有相应的api文档,一般最基础的就是用markdown工具来撰写api文档.当对于开发人员来说,是总会想着寻找更方便撰写,测试,对接前端开发的文档生成的工具. 其实这方面的 ...

  4. 你不得不知的几款常用的在线API管理工具

    在项目开发过程中,总会涉及到接口文档的设计编写,之前使用的都是ms office工具,不够漂亮也不直观,变更频繁的话维护成本也更高,及时性也是大问题.基于这个背景,下面介绍几个常用的API管理工具,方 ...

  5. 几款常用的在线API管理工具(是时候抛弃office编写接口文档了)

    在项目开发过程中,总会涉及到接口文档的设计编写,之前使用的都是ms office工具,不够漂亮也不直观,变更频繁的话维护成本也更高,及时性也是大问题.基于这个背景,下面介绍几个常用的API管理工具,方 ...

  6. 介绍几款常用的在线API管理工具

    在项目开发过程中,总会涉及到接口文档的设计编写,之前使用的都是ms office工具,不够漂亮也不直观,变更频繁的话维护成本也更高,及时性也是大问题.基于这个背景,下面介绍几个常用的API管理工具,方 ...

  7. API管理工具介绍

    ​ 时间都去哪里了 敏捷迭代和团队协作,前后端分离的工作模式几乎是每个互联网公司的常规工作模式. 前后端分离,各自开发的优点很多,其中一项是它只需要提供一个统一的API接口,即可被web,iOS,An ...

  8. 论元数据和API管理工具

    公司里面的很多部门都在广泛的采用元数据管理,也采用了公司内部开发的元数据管理工具,有些部门的实施效果一直非常好,而有些部门的效果则差强人意.这个问题,其实和软件系统开发完成进入维护阶段后成本居高不下的 ...

  9. 前端api管理工具YApi

    使用YApi接口管理工具,提升前端开发效率前端开发苦恼: 代码中使用json数据模拟后端api数据,注释调取api接口代码,代码乱七八糟 为了测试不同case,央求后端人员返回不同的数据,返回状态.返 ...

  10. API管理工具

    开源的api文档管理系统 api文档 php 在项目中,需要协同开发,所以会写许多API文档给其他同事,以前都是写一个简单的TXT文本或Word文档,口口相传,这种方式比较老土了,所以,需要有个api ...

随机推荐

  1. TypeScript必知三部曲(一)TypeScript编译方案以及IDE对TS的类型检查

    TypeScript代码的编译过程一直以来会给很多小伙伴造成困扰,typescript官方提供tsc对ts代码进行编译,babel也表示能够编译ts代码,它们二者的区别是什么?我们应该选择哪种方案?为 ...

  2. 让代码变得优雅简洁的神器:Java8 Stream流式编程

    原创/朱季谦 本文主要基于实际项目常用的Stream Api流式处理总结. 因笔者主要从事风控反欺诈相关工作,故而此文使用比较熟悉的三要素之一的[手机号]黑名单作代码案例说明. 我在项目当中,很早就开 ...

  3. 事实胜于雄辩,苹果MacOs能不能玩儿机器/深度(ml/dl)学习(Python3.10/Tensorflow2)

    坊间有传MacOs系统不适合机器(ml)学习和深度(dl)学习,这是板上钉钉的刻板印象,就好像有人说女生不适合编程一样的离谱.现而今,无论是Pytorch框架的MPS模式,还是最新的Tensorflo ...

  4. Clion+dap仿真器,移植stm32项目

    如何将Keil项目移植到Clion,先看几位大佬的文章: 稚晖君的回答:配置CLion用于STM32开发[优雅の嵌入式开发] 野火论坛:DAP仿真器的使用教程 wuxx:nanoDAP使用疑难杂症解析 ...

  5. Oracle AUD审计 找出锁定用户的客户端IP

    问题描述:运用AUD审计找出锁定用户的客户端IP 1.查询被锁用户 SELECT USERNAME, ACCOUNT_STATUS, LOCK_DATE FROM DBA_USERS WHERE AC ...

  6. ResNet50的猫狗分类训练及预测

    相比于之前写的ResNet18,下面的ResNet50写得更加工程化一点,这还适用与其他分类. 我的代码文件结构 1. 数据处理 首先已经对数据做好了分类 文件夹结构是这样 开始划分数据集 split ...

  7. LINUX 下LAMP之yum方法部署环境

    一. 系统组成 系统由前台网站和后台保种服务两部分组成,其中后台保种可以扩展成多台设备,提高保种的资源量以及性能.下面安装以houtaiip代表后台保重服务器ip地址,qiantaiip代表前台网站i ...

  8. OpenHarmony SystemUI开发记录

    背景介绍 最近学习OpenHarmony应用开发, SDK版本是3.2.9.2 Beta4,IDE版本是3.1.0.200.参考官方文档,做了个Demo应用,调试.运行非常顺利.启动应用后,状态栏和导 ...

  9. 开心档之MySQL 复制表

    MySQL 复制表 如果我们需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等. 如果仅仅使用CREATE TABLE ... SELECT命令,是无法实现的. 本章节将为大家介绍如何完整 ...

  10. jdk1.8 LocalTime、LocalDate、LocalDateTime 使用大全

    目录 LocalTime.LocalDate.LocalDateTime 区别 LocalTime.LocalDate.LocalDateTime 使用 now 获取当前 时刻.日期.时间 of 获取 ...