变量命名规则小结

基本目的是增加可读性,

命名:
前缀。由于oc缺少名称空间概念,所有连接到程序里的oc类都在一个名称空间中,这意味着实现了同名类的两个框架是不能连接到一起的。解决方案是框架内的类的类名都包含一个标明框架提供者的短前缀。这些前缀不仅用于类名,函数、常量,以及任何在全局名称空间下的东西都应该使用他们。
类名。通常是一个名字加前缀构成。例如NSArray。子类经常在前缀和名词间加一个形容词,例如NSMutableArray
协议名。类名描述的是一种对象,而协议名描述的是一种行为。协议名通常是动词,例如NSCopying, NSLocking
方法名。方法名应由小写字母开头,通常由一个动词开始,每个参数一个名词。例如:
-log   // 没有参数
-addObject:  // 有一个参数
setObject:forKey:   // 对于有多个参数的方法,每个参数应该是一个名词或形容词-名词组合。
-isEnable   // bool返回值的常以is开头
-count  // 大多数返回对象部分成员的方法的名字是一个单词
-setIntValue:   // 在名字中带上了参数的类型也是一个好习惯
函数名。如果它们不是某个公开API的组成部分,那么应该声明为static,这样可以阻止它们进入全局名称空间。

为状态变量命名:status,type

标记应该用枚举类型、具名常量、来对其赋值,不要使用简单的数字来赋值。

标记的名字不应该还有flag,好的名字:dataReady, characterType, reportType

为临时变量命名:

使用准确而且具有描述性的变量名

为布尔值变量命名:布尔值变量隐含“真/假”含义,只有两种可能性。

使用肯定的布尔变量,否定的变量会降低可读性

done 表示事情已经完成

error 表示发生了错误

found 表示某个值找到了

success/ok 表明一项操作是否成功

为枚举类型命名:使用组前缀,来表明该类型的成员都通过属于一个组

枚举类型采用大小写混合的命名方式

枚举类型总以复数形式表示

为常量命名:使用k开头或者全部大写

避免在名字中出现数字,如果名字中的数字真的非常重要,就是用数组来代替一组单个的变量

名字中使用Count和Index来代替Num

名字不要太短,要有好的可读性

名字反映了现实世界的问题,而不是编程语言方案

要使用一个规则区分:全局变量、类变量、局部变量。还应该区分类型名、具名常量、枚举类型名字和变量名

规则要尽可能地与语言的标准规则兼容

尽量不要使用缩写,除非是公认的缩写

名字要尽可能举起,那些太模糊或者太通用的一直与能够用于多种目的名字通常都是很不好的

牢记:代码阅读的次数远远多于编写的次数,确保你所取得名字更重于阅读方便而不是编写方便

无论做哪种项目,你都应该采用某种变量命名规则,你所采用的规则取决于你的程序规模以及项目成员的人数

猜你喜欢

转载自quding0308.iteye.com/blog/1841062