美文网首页
接口和API设计

接口和API设计

作者: 海浪萌物 | 来源:发表于2017-05-10 18:23 被阅读8次

1、用前缀避免命名空间冲突,

其中前缀一般为三个大写字母。不仅仅是类名,应用程序中的所有名称都应加前缀,包括分类、C函数、全局变量。

2、提供“全能初始化方法”,

所有对象都要初始化,对外提供多个初始化方法,但所有初始化方法都会调用全能初始化方法。

如果子类的全能初始化方法与超类方法的名称不同,那么总应覆写超类的全能初始化方法,

有时候可能需要编写多个全能初始化方法,比如某对象实例有两种完全不同的创建方式,必须分开处理,那么就会有这种情况。

在类中提供一个全能初始化方法,并于文档里指明,其他初始化方法均应调用此方法,若全能初始化方法与超类不同,则需覆盖超类中对应的方法,如果超类的初始化方法不适用于子类,那么应该复写这个超类方法,并在其中抛出异常。

3、实现description方法,

打印object对象时候,object对象会受到description消息,该方法所返回的描述信息将取代“格式化字符串”。为了更明确展示对象信息,一般重写description方法,并在里面输出累的名字、指针地址,然后根据需要打印属性信息等

如果想在调试时候打印出详细信息,则应事先debugDescription方法

4、尽量使用不可变对象

设计类的时候,应充分利用属性来封装数据,对不需要改的属性可以设为只读。只有在必要的时候,才将属性对外公布。在公共接口中声明的属性在内部可以重新声明,前提是需要修改属性的特征,例如将readonly改为readwrite

开发者最好不要从底层直接修改对象中的数据

5、使用清晰而协调的命名方式

(1)方法命名:OC的方法命名虽然繁琐,但是可读性高

如果方法的返回值是新建,那么方法名的首个词应是返回值的类型,除非前面还有修饰语

应该把参数类型的名词放在参数面前

如果方法要在当前对象上操作,那么就应该包含动词

不要使用str这样的简称,应该用string这样的全称

bool属性应加is前缀

(2)类和协议的命名

起名遵守OC命名规范,方法名言简意赅,方法名里不要使用缩略后的类型名称,给方法起名时第一要务就是确保其风格与你自己的代码或所需要集成的框架相符合。

(3)为私有方法名钱加前缀

为私有方法加前缀,就很容易把私有方法和公有方法区分开,还可以便于修改方法名或方法签名,有了前缀就很容易看出来哪些方法可以随意修改,哪些方法不应轻易改动

前缀不要以“_”,因为这是给苹果公司自已用的

6、OC的错误类型

OC中的错误类型只有在极其严重的时候使用,一般情况是用NSErrors,经由方法的”输出参数返回给调用者“传递给方法的参数是个指针,而该指针本身又指向另外一个指针,那个指针指向NSError对象,,所以可以直接把错误信息塞到NSError里面。

相关文章

  • 接口和API设计

    1、用前缀避免命名空间冲突, 其中前缀一般为三个大写字母。不仅仅是类名,应用程序中的所有名称都应加前缀,包括分类、...

  • 接口和API设计

    一.使用前缀避免命名空间冲突 !引用第三方库,同样需要进行添加项目前缀 二.提供全能初始化方法 !在类中提供全能初...

  • API接口安全性设计

    API接口安全性设计 接口的安全性主要围绕Token、Timestamp和Sign三个机制展开设计,保证接口的数据...

  • RESTful api接口安全优雅设计

    RESTful api接口安全优雅设计 ...

  • api 接口设计

    包括两部分: 业务场景 如推荐、排行、搜索 元素item 如问题、作者、直播

  • API接口设计

    API - Application Programming Interface 语言本身提供的API网络API(数...

  • django中tastypie风格接口设计

    需求背景: 使用tastypie原则开发api接口,同时对前面设计的api做适当优化。 tastypie风格接口设...

  • Netty实战阅读笔记

    1.Netty的组件和设计 1.1 Channel接口 Netty的channel接口提供的api大大的降低了直接...

  • web-api总结

    总结一下ruby中如何写设计api接口: 1.api是程序之间的接口,一个服务端api接口包含http方法,URL...

  • RESTful API

    RESTful 是目前最流行的 API 设计规范,用于 Web 数据接口的设计。本文参考 《REST和RESTf...

网友评论

      本文标题:接口和API设计

      本文链接:https://www.haomeiwen.com/subject/rfugtxtx.html