在开发过程中,程序员一般会遵守一些常用的命名规则,那么我们简单的从代码、方法、函数以及实例变量和数据类型命名这几个方面来学习下IOS开发中的一般命名规则。
1. 代码命名
代码命名的一般原则包括:清晰性、一致性和不自我指涉等,我们从名字上也可以得知一二。
清晰性,通常情况下尽量不要缩写,不过我个人感觉这是一个一般规律,如果你习惯了缩写,比如在其他语言的开发过程中,经常就使用缩写来代替全拼的方式,那么这也是可以的,不过如果缩写的特别严重的话,那么良好的注释也可以很大程度对我们后续的升级开发有所帮助。不过,如果没有良好的注释习惯,同时也没有缩写的习惯的话,那就尽量清晰命名,即使名字比较长。
一致性,命名中一致性是很重要的,尽可能一个接口保持相同的名字,这在我们的代码里体现多态性的时候尤为重要。
不自我指涉,简洁明了,能表达出我们希望变量代表的意思,比如一个学生名字的列表变量,比如我们可以命名为studentNameList就显得累赘并且自我指涉,我们可以命名为studentsNames。
命名时的前缀,前缀在编程接口中相当重要,可以区分软件的功能范畴,比如Obj-C常见的NS前缀。
2. 方法命名规则
小写开头,名称中的单词首字母大写,这样我们可以很容易的区分开来。但是当开头是众所周知的缩写的时候,那我们就应该用大写的缩写形式,例如PDF等,还有,我们可以使用前缀来分组并且区分私有方法。
当方法代表一个对象执行的动作时候,其名称应该以动词开头,例如setName这种命名方式就很容易让我们明白它的具体功能。
可以避免使用do或者does这样儿的辅助性的动词,因为不能具体而直观的表达其功能。
当方法返回接收者的某个属性时,我们可以以属性名称作为方法名。例如,colorOfMainScree。
所有的参数面前都应该使用关键字,参数前面的单词应能够对参数进行描述,例如,setMainScreenSize:SecondScreenSize:ThirdScreenSize。
3. 函数命名规则
函数命名的基本规则和方式是很相似的,不过需要注意的是,函数的话我们可以使用前缀开头,或者以动词开头,当然查询属性的函数可以直接省略掉动词,而当函数的返回值是一个引用的时候,我们可以在函数名称中使用“Get”。
4. 实例变量和数据类型命名规则
避免创建公共实例变量。开发人员关注的重点应该是对象的接口,而不是对象的数据存储方式这样儿的底层实现或者细节。
尽量把实例变量显式声明为@private或者@protected。
确保实例变量的名称能够简明扼要的描述它所保存的属性。
当然,其实还有一些其他的常用命名规则,而且每个人的编程习惯也大不相同,所以这些并不是死规定,而是说,一种良好的编码规范,当然你也可以像一些极品的程序员一样,所有的变量或者方法都用自己名字的首字母缩写外加数字来命名,比如我的名字首字母缩写是ZZT,那么我所有的变量都是ZZT1、ZZT2这种的话,我相信如果你来更改我的代码的话,你一定连杀了我的心都有了,对吧?同样的道理,良好的编码规范不仅能够给后续的开发人员带来方便,同时我们自己日后的升级,回顾或者修改我们自己之前写过的代码也是一个帮助。
2013年04月27日,Eric.Tang 记