看书笔记16-20

十六:提供全能初始化方法

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

十七:实现description方法

实现description方法返回一个有意义的字符串,用以描述该实例。
若想在调试时打印出更详尽的对象描述信息,则应实现debugDescription方法。

十八:尽量使用不可变对象

尽量创建不可变对象
若某属性仅可用于对象内部修改,则在"class-continuation分类"中将其由readonly属性扩展为readwrite属性
不要把可变的collection作为属性公开,而应提供相关方法,以此修改对象中的可变collection.

十九:使用清晰而协调的命名方式

起名时应遵从标准的Objective-C命名规范,这样创建出来的接口更容易为开发者所理解
方法名要言简意赅,从左至右读起来要像个日常用语中的句子才好。
方法名里不要使用缩略后的类型名称。
给方法起名时的第一要务就是确保其风格与你自己的代码所要继承的框架相符。

二十:为私有方法名加前缀

给私有方法的名称加上前缀,这样可以很容易的将其同公共方法区分开。
不要单用一个下划线做私有方法的前缀,因为这种做法是预留给苹果公司用的。

你可能感兴趣的:(看书笔记16-20)