身为程序员最讨厌看到的代码没有注释,自己的代码却讨厌写注释,觉得麻烦,接口也是这样。

比如公司要做一个H5活动的页面,开发文档已经发到后端开发、设计、与前端的邮箱了,其实这个时候就可以开始开发了。开发人员开始论证H5页面中逻辑是否能够实现,以及该逻辑的合理性,及时的反馈给产品进行修改或者优化。等一切都定下来的时候,各方面就可以开始动工了。

一般来说,设计资源会在后端接口开发完成之前给到。对于一个对开发工作足够得心应手的后端工程师,一般看到设计稿,就知道接口的数据结构和内部的逻辑是怎么样的。因此不必等到接口真正开发完成,才给到前端同学。

这样子前端同学和后端同学,均能并行开发。比如一个H5活动页面需要原来需要1个星期来完成,现在只需要4天时间,节省的两天,程序员就可以用来提升自己技能和用来休息了。

但是呢,人都是惰性的。开发的时候不愿意写文档,尤其是接口文档,觉得很麻烦。我的同事们,有时候也懒得写接口文档,前端同学根据接口返回的数据来进行开发,有时候接口返回数据出错,前端并不知道正确的接口数据是什么,就会发生耽误开发时间,本来能够如期完成工作,结果在对接接口方面花费了太多的时间。

在大量的接口开发工作中,我使用了很多文档工具,如Markdown 工具(马克飞象),另外一个就是ApiDoc文档生成工具。markdown 语法大部分写过程序的同学都知道,比较好用,适合写个博客什么的,可以把写作的焦点放在内容上,而不是格式上。但是对于markdown 写的接口文档来讲,可能就不太适用了。接口文档需要丰富的格式来构建层次,还需要表格来装载参数。当接口很多的时候,还需要将接口分类,还需要有检索接口的功能。另外一个痛点就是,比如后端PHP开发同学写了个markdown文档,给到了前端同学,或者客户端同学,还要提示他们如何使用。并不是每个人电脑都装了markdown解析器。这样子就很烦人了,还好ApiDoc 解决了这个棘手的问题。

用了很长时间,总结了ApiDoc 的几个优点:

1、安装简便,傻瓜式安装

2、接口文档语法很简单,不必增加记忆成本,写接口文档很轻松,不再耗费大量时间,而是顺手复制粘贴

3、生成的文档格式漂亮,并且实用,满足了开发人员对接口的各种需求。

由于本文并不是讲述ApiDoc 的教程文档,说实在话,这类东西,还是官方的文档最实用。参数那么多,并不需要拿个小本本记下来,需要的时候,到官网上复制粘贴即可,用多了,自然常用的就会记下来。附一张ApiDoc 生成文档的截图:

用apiDoc简化接口开发的更多相关文章

  1. DbUtils是Apache出品一款简化JDBC开发的工具类

    DbUtils     - DbUtils是Apache出品一款简化JDBC开发的工具类     - 使用DbUtils可以让我们JDBC的开发更加简单     - DbUtils的使用:       ...

  2. windows下shopex农行支付接口开发笔记

    1.首先是配置Java和tomcat 农行文档里的是linux下的说明.window下我们要按照以下在setclasspath.bat里设置JAVA_HOME,JRE_HOME(红色字体部分).设置这 ...

  3. 《连载 | 物联网框架ServerSuperIO教程》- 13.自定义视图显示接口开发,满足不同的显示需求

    1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...

  4. 《Python Web 接口开发与测试》---即将出版

    为什么要出这样一本书? 首先,今年我有不少工作是跟接口自动化相关的,工作中的接口自动化颇有成效. 我一直是一个没有测试大格局的人,在各种移动测试技术爆发的这一年,我却默默耕耘着自己的一亩三分地儿(We ...

  5. 浅谈 PHP 与手机 APP 开发(API 接口开发) -- 转载

    转载自:http://www.thinkphp.cn/topic/5023.html 这个帖子写给不太了解PHP与API开发的人 一.先简单回答两个问题: 1.PHP 可以开发客户端? 答:不可以,因 ...

  6. 支付宝WAP支付接口开发(Node/Coffee语言)

    此博客不更新很久了, 更新的文档在这, 有兴趣到这里围观: http://neutra.github.io/2013/%E6%94%AF%E4%BB%98%E5%AE%9DWAP%E6%94%AF%E ...

  7. C#微信公众号接口开发,灵活利用网页授权、带参数二维码、模板消息,提升用户体验之完成用户绑定个人微信及验证码获取

    一.前言 当下微信公众号几乎已经是每个公司必备的,但是大部分微信公众账号用户体验都欠佳,特别是涉及到用户绑定等,需要用户进行复杂的操作才可以和网站绑定,或者很多公司直接不绑定,而是每次都让用户填写账号 ...

  8. C#.NET微信公众账号接口开发系列文章整理--微信接口开发目录,方便需要的博友查询

    前言: 涉及微信接口开发比较早也做的挺多的,有时间的时候整理了开发过程中一些思路案例,供刚学习微信开发的朋友参考.其实微信接口开发还是比较简单的,但是由于调试比较麻烦,加上微信偶尔也会给开发者挖坑,并 ...

  9. C#/ASP.NET MVC微信公众号接口开发之从零开发(四) 微信自定义菜单(附源码)

    C#/ASP.NET MVC微信接口开发文章目录: 1.C#/ASP.NET MVC微信公众号接口开发之从零开发(一) 接入微信公众平台 2.C#/ASP.NET MVC微信公众号接口开发之从零开发( ...

随机推荐

  1. Python后端相关技术/工具栈

    编辑器 最常见: vim / SublimeText2 / PyCharm Vim有兴趣可以看看 k-vim 适合Python/Golang开发 本地环境 pip/easy_install 包管理 v ...

  2. 了解MySQL联表查询中的驱动表,优化查询,以小表驱动大表

    一.为什么要用小表驱动大表 1.驱动表的定义 当进行多表连接查询时, [驱动表] 的定义为: 1)指定了联接条件时,满足查询条件的记录行数少的表为[驱动表] 2)未指定联接条件时,行数少的表为[驱动表 ...

  3. js的浅复制和深复制

    1.浅复制VS深复制 本文中的复制也可以称为拷贝,在本文中认为复制和拷贝是相同的意思.另外,本文只讨论js中复杂数据类型的复制问题(Object,Array等),不讨论基本数据类型(null,unde ...

  4. 用canvas画弧形进度条

    function toCanvas(id ,progress){ //canvas进度条 var canvas = document.getElementById(id), ctx = canvas. ...

  5. Bower前端模块管理器

    cnpm install bower -g 安装bower bower install jquery //bower会自动去网上找到最新版本的jquery bower uninstall jquery ...

  6. 面向对象 【类库】【委托】【is as运算符】

    类库(Class Library) .dll文件 类库字面意思就是类的集合,里面有很多被编译后的C#代码,不可阅读,不可修改,只能调用 类库是一个综合性的面向对象的可重用类型集合,这些类型包括:接口. ...

  7. hdu1072(Nightmare)bfs

    Nightmare Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total ...

  8. JDBC、mybatis、hibernate连接数据库

    JDBC连接数据库五步骤: 一.加载驱动 Class.forName(“com.mysql.jdbc.Driver”); 二.建立连接 Connection conn = DriverManager. ...

  9. POJ3264(KB7-G RMQ)

    Balanced Lineup Time Limit: 5000MS Memory Limit: 65536K   otal Submissions: 52651 Case Time Limit: 2 ...

  10. JSON: jasckson 字段 过滤

    有这样一个场景存在一个model类如果User,这里省略了getter/setter方法 class User { String name; String uuid; Long created; Lo ...