ROS交流群
ROS Group
产品服务
Product Service
开源代码库
Github
官网
Official website
技术交流
Technological exchanges
激光雷达
LIDAR
ROS教程
ROS Tourials
深度学习
Deep Learning
机器视觉
Computer Vision

API的基本开发原则



  • 在开发软件的过程中经常要自己去开发API。一般来说只要写出的程序能够满足需求就行了。但是随着开发项目的增加也逐渐发现,API必须要遵守某些特定的原则才行。否则就会产生问题隐患。

    1. 原子操作
      这个是最基本的原则,然而我最近才意识到。所有API完成的操作必须是原子操作。所谓原子操作就是整个操作不能被分成更小的操作。操作要么成功要么失败。不会出现在一半的状态。如果操作失败那么被操作对象就应该保持和操作前的状态一样。为什么要如此呢?这个原因是显而易见的。比如我们要通过一个API把A盒子放到B盒子里面,再把B盒子放到C盒子里面。如果在把A盒子放入B盒子成功之后,去放C盒子的时候发现C盒子已经满了。不太好的API的做法就是直接返回操作失败的状态,不进行还原操作。这时候就会出现A盒子在B盒子之中,但是又没放在C盒子里的状态。这种状态是程序设计之外的。假如再进行其他操作,会对整个系统产生什么影响都是无法预测的。所以原子操作是一个基本原则。
    2. RESTFUL
      这是WEB API的一种设计风格。感觉按照这种风格设计的API结构要更清晰。具体的内容可以参照网上的很多文章。

Log in to reply