1.用前缀来避免出现命名冲突:最好的方法是公司名或应用程序名命名。
2.提供全能的初始化方法,其他初始化方法都应该调用此方法。
(1)全能初始化方法与超类不同,需要覆写超类的对应方法。
(2)如果超类的初始化方法不适用子类,需要覆盖超累的方法,并抛出异常。
3.实现description方法主要是实现日志的清晰打印。若想实现更详细的信息,需要实现debugDescription方法。
- (NSString *)description {
return [NSString stringWithFormat:@"%@ %ld",_name,_age];
}
- (NSString *)debugDescription {
return [NSString stringWithFormat:@"<%@ %ld>",_name,_age];
}
4.尽量设计使用不可变对象
5.使用清晰而协调的命名方式
(1)遵从OC命名规范,且方法名要言简意赅。
(2)确保命名风格和你的代码风格一致,不要使用省略后的类型名称。
6.私有方法添加前缀
(1)加前缀容易将其他共有的方法分开。
(2)不能单用一个下划线进行私有方法前缀,这个方法与留给苹果公司的。建议同p_进行前缀添加。
7.错误模型的使用:除非使应用程序错误的应用才应该使用异常。错误不严重的情况下运用delegate method来处理,错误信息放在NSError对象里。
8.NSCopying协议实现拷贝功能
(1)需要实现NSCopying协议。如果自定义的协议分为可变和不可变两个版本,则需要实现NSCopying 和 NSMutableCopying两个版本。
(2)复制对象时需要决定是采用深拷贝还是浅拷贝。一般情况尽量使用浅拷贝,当需要执行深拷贝的时候,专门实现执行深拷贝的方法。