![a4d4e5c58637815bb98ab5e02f3ca619.png](https://i-blog.csdnimg.cn/blog_migrate/67fbb283e4d31e45a257776f60bdca70.jpeg)
背景
为了更方便的书写和阐述问题,文章中按照第一人称的角度书写。作为一个以java为主要开发语言的工程师,我所描述的都是java相关的编码和设计。
工程师的静态输出就是代码和文档,动态的就是各种应用程序(app,h5站点,微信公众号,小程序)。动态的先不讨论,主要讨论静态的。
随意查看一个代码库,可以看到代码的编写过程,某些代码可能在现在看来实现很低效和可笑,但是在当时的技术和时间场景下,肯定是最优的输出。
也可以在gitlab上看看每次的pull request ,看看当时对这些代码的codeReview ;
反馈出的问题就是程序的设计非常重要。而接口是功能的抽象,相对比较稳定,对团队来说影响比较大。
**
API设计原则
先给接口来个简单的定义:即协议,约定了请求和响应的参数和格式。
接口设计要求是:
1.简洁;
2.考虑到向后兼容;
业界有一些基本的原则: