zoukankan      html  css  js  c++  java
  • 怎样设计接口

    依据资料和经验总结。

    要求:

    1. 命名:
      1. 命名规则和风格统一、规范;
      2. 命名清晰明白,不冗余,不模糊;
      3. 有意义:清晰和有意义的命名比简略而模糊的命名更应受到青睐;
    1. 功能
      1. 职责明白:功能尽量单一;
      2. 充分理由:不要随便有新功能就添加新接口;无意义的接口仅仅会添加维护的难度;
      3. 将功能层和策略层分开:
        1. 功能是基础数据。不易变。
        2. 策略是表层数据,易变——策略能够使用參数改动;
      1. 低耦合:降低不同接口间的依赖。
        1. 一个接口不应随着还有一个接口的变化而变化;
        2. 一个接口不应以某几个接口为前提而存在。
      1. 完备性:
        1. 考虑各种參数变化的情况。
        2. 考虑各种參数为default或为0的情况。
      1. 可扩展性:为以后可能会添加的參数预留余地,尽量不要写死;
    1. 參数
      1. 不超过5个;
      1. 从做到右,依照參数easy变化的程度排列;
      2. 尽量提供默认值;
      3. 若超过5个,把相似的数据放入到一个jsonlist等数据结构中;
      4. 禁止任意扩展:理由见“功能”部分。
      5. 參数尽量是原生数据结构。少用对平台依赖的数据结构。
    1. 分析角度:明白角度,不要一会以角色设计,一会以功能设计。
    2. 必要信息:
      1. 初始信息
        1. 初始化是否完成
        2. 初始化完成后的基本信息(如:listdict的长度——能够看出是否为0
      1. 中间信息
        1. 数据源是否变动
        2. 数据长度是否改变(须要视重要程度决定是否需打印该信息)
      1. 返回信息
        1. 是否成功?
        2. 失败原因?

     

     

     

    參考文献:

    1. http://www.yixieshi.com/zhichang/14567.html
  • 相关阅读:
    IOS图像处理(6)在内存上下文中绘图
    IOS图像处理(5)填充模式
    IOS图像处理(4)坐标变化
    IOS图像处理(3)绘制路径
    IOS图像处理(2)绘制文本
    IOS图像处理(1)绘制简单的几何图形
    containsString
    UIScrollView zoom in/out center
    Mac Sublime Text 2 快捷键(转)
    Characteristics with cached values must be read-only
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/7262665.html
Copyright © 2011-2022 走看看