第二十条 为私有方法名加上前缀

2017/8/28 posted in  第三章 接口与API设计

一个类所做的事情,通常要比外面看到的更多。编写类的实现代码时,我们经常要编写在内部使用的方法。这里我们要注意,一定要为这种内部实现的方法加上前缀,这有助于调试,有利于区分私有方法和公共方法。区分私有和公共方法,主要是为了方便修改内部的私有方法和相关实现代码,防止随意修改公共API。

我通常在私有方法前面加上“_p”,例如:


-(void)p_privateMethod{
    /*.....*/
}

我们之所以要加上前缀,是因为OC不像java和c++语言可以在前面将方法声明为私有。每个对象都可以响应任何方法(由于其强大的动态特性造成的)。

加前缀的时候要避免只用一个“_”因为苹果公司在自己的类中就是这么做的,所以我们要避开这种方式,防止造成继承一个类的时候,子类无意间覆写了父类的方法。

要点

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