现在的位置: 首页 > 综合 > 正文

IOS—命名规范

2014年01月24日 ⁄ 综合 ⁄ 共 2123字 ⁄ 字号 评论关闭
1,类命名

所有类名,接口名(Protocol)均以大写字母开头,多单词组合时,后面的单词首写字母大写。

View, 所有扩展自UIView的类以View结尾,如: LabelView,  GridView。

ViewController,所有扩展自UIViewController的类以ViewController线 ,如, HomePageViewControler, LoginViewController。

Model,所有保存数据的实体类以Model结尾,如,UserModel,用户保存所有用户相关的信息,如姓名,性别等

2,变量名称

在类中的成员变量以小写字母开头,多单词组合时,后面的单词首写字母大写。

如: userName,userAge...

3,方法名称

方法名以小写字母开头,多单词组合时,后面的单词首写字母大写。

如: doAction, fetchUser...

4,工程的资源文件与其它文件

任何文件的命名尽量不要以中文命名。

5,图片等资源文件放在单独的目录与组中,如images。

1.  命名

1.1 通用规则

1.1.1                不要声明以一个或多个下划线 ('_') 开头的名称

开头带有一个下划线(_)的名称通常由库函数(_main_exit)使用。开头带有两个下划线(__)或一个下划线后接一个大写字母的名称保留给编译器内部使用。
名称还要避免下划线相邻,否则很难识别下划线的确切个数。

1.1.2                不要使用两个相连的下划线

1.1.3                避免使用只靠字母大小写才能区分的名称

只通过大小写才能区分的类型名称,它们间的差异是很难记忆的,也就很容易造成混淆。

1.1.4                避免使用缩写

应用领域中常用的缩写(如 FFT 指快速傅立叶变换),或在项目缩写清单中有定义的缩写,才能使用相应的缩写。否则,很有可能相似但不相同的缩写到处出现,之后就引进了混淆和错误(如将 trackIdentification 缩写成 tridtrck_idtr_identidtr_ident等)。

1.1.5                选择清晰的、易辨认的、有意义的名称

从应用的角度选择名称,名词使用形容词修饰来提高局部(具体上下文)的含义。确保名称与其类型保持一致。
选择合适的名称,使以下结构:

objectName.FunctionName(...);

objectName->FunctionName(...);

[objectName FunctionName(...);

易于阅读并有实际含义。
不要使用短名称或缩写名称,也不要太长,以免编译截断名称。使用人们熟知的 作为自然对数的底数或 Pi 作为圆周率是例外。
示例:

原代码:
void SetForegroundColor(CColor fg)
读者直觉上会认为 fg 意指 foreground(前景);但是,任何一个好的编程风格都不应留给读者作直觉推导的余地。

void SetForegroundColor(CColor foreground)

{

theForegroundColor = foreground;
}
当使用参数 foreground(远离其声明)时,读者会认为foreground 实际上就是指 foreground 的颜色。可以想象,它能代表任何一种可暗中转化为color的类型。
推荐风格:
void SetColor(CColor newColor)
{
...
theColor = newColor;
...
}

对 newColor 进行了限定使它与其类型一致;因此增强了函数的语义。

1.1.6                使用名称的正确拼写

英语字符名称部分应正确的拼写,遵守项目要求的形式,如使用一致的英国英语或美国英语,但不能同时使用。这对注释也同样适用。

1.1.7                布尔值使用正值谓词从句

对布尔值类型的对象、函数及函数实参使用正值形式的判定句式,如FoundItIsAvailable,但不使用IsNotAvailable

 

1.2 类与结构

1.2.1                名称使用名词或名词短语

使用简单形式的常用名词或名词短语,为类取名时要表达出它的抽象含义。基类使用更通用的名称,而对派生类使用更专用的名称。

typedef ... Reference; //出自标准库

typedef ... Pointer;   //出自标准库

typedef ... Iterator;  //出自标准库

struct tagPoint{....};

class CBankAccount {...};

class CSavingsAccount : public CBankAccount {...};

class CCheckingAccount : public CBankAccount {...};

1.2.2              类名

  • Objective-C开发的类以大写字母“C”开头,其后每一个单词都以大写字母开头

       如:CGlobalLocation,CFont,CDialog

 

抱歉!评论已关闭.