一  iOS  代码命名规范 (参考文章:http://www.jianshu.com/p/c598d32560e8,特此感谢 jackiehoo(简书作者))

大驼峰命名方法: 所有首字母大写。

小驼峰命名方法:第一个单词首字母小写,其他单词首字母大写。

 1 :命名原则

一般性原则:可读性高(简洁且清晰)和防止命名冲突(通过加前缀后缀来保证)。

     Objective-C 的命名通常都比较长, 名称遵循驼峰式命名法. 一个好的命名标准很简单, 就是做到在开发者一看到名字时, 就能够懂得它的含义和使用方法. 另外, 每个模块都要加上自己的前缀, 前缀在编程接口中非常重要, 可以区分软件的功能范畴并防止不同文件或者类之间命名发生冲突, 比如相册模块(PhotoGallery)的代码都以PG作为前缀: PGAlbumViewController, PGDataManager.
一致性原则

    尽可能与Cocoa编程接⼝命名保持一致。如果你不太确定某个命名的⼀致性,请浏览头文件或参考文档中的范例,在使⽤多态方法的类中,命名的⼀致性⾮常重要。在不同类中实现相同功能的⽅法应该具有同的名称。

2:代码命名规范

 2.1 文件命名

2.2 类命名

2.3 类别命名

2.4 方法命名

   2.4.1


方法名应遵守小驼峰原则,首字母小写,其他单词首字母大写,如:insertmodel,每个空格分割的名称以动词开头,如 atIndex。

   执行性的方法应该以动词开头,小写字母开头.

   返回性的方法应该以返回的内容开头,如:arrayWithArray,但之前不要加get。

 如:

- (void)insertModel:(id)model atIndex:(NSUInteger)atIndex;

- (instancetype)arrayWithArray:(NSArray *)array;
- (void)insertModel:(id)model atIndex:(NSUInteger)atIndex;

- (instancetype)arrayWithArray:(NSArray *)array;
2.4.2
  2.4.2
关于代理方法
以发送代理的对象类名作为代理方法名的开始(去掉类名的前缀,并且小写开头)

- (BOOL)tableView:(NSTableView *)tableView shouldSelectRow:(int)row;
- (BOOL)application:(NSApplication *)sender openFile:(NSString *)filename;
- (BOOL)tableView:(NSTableView *)tableView shouldSelectRow:(int)row;
- (BOOL)application:(NSApplication *)sender openFile:(NSString *)filename;

2.4 枚举命名

2.5 属性·变量命名

    变量名使用小驼峰法, 使变量名尽量可以推测其用途,属性,可描述其目的。为了让你的代码可以迅速被理解,每个属性命名都加上类型后缀,如,按钮就加上Button后缀,模型就加上Model后缀。

    

1)类成员变量名(成员变量)

( 如果以这个类为全部,也可以叫它全局变量。其实还有一种比成员变量更大的,比如:建一个公用类,并在里面声明一个静态变量,那么,我们在任何地方都可以用它了,它也被通俗的叫做<全局变量>)

  成员变量用小驼峰法命名并前缀下划线,如:

UIButton *_submitButton;
UIButton *_submitButton;

(在ios编码时:如果用storyboard或.xib做界面,在control连接viewcontroller后形成的变量命名时,可以不加下划线。但是,在代码中使用时,其变量是有下划线的,如:


@property (strong, nonatomic) IBOutlet UIButton *loginButton;
 
 
  _loginButton.hidden= NO;
 

)

2)局部变量名
  遵守小驼峰命名规则,如:

NSInteger numCompletedConnections =3;
NSInteger numCompletedConnections =3;


2.6  const 

(const :[医]常数,不变的;  Pascal语言中常量说明常量)

以小写k开头,后面单词首字母大写,其余小写。如:

const float kMaxHeigt = 100.0f;
const float kMaxHeigt = 100.0f;

如果是特殊含义的常量也建议加上后缀,如通知加上Notification为后缀,如:

extern Nsstring * Const kLoginSuccessNotification
extern Nsstring * Const kLoginSuccessNotification

2.7 资源文件命名 (图片,本地化文件)

这个图片资源命名方式,以功能为组织形式,是一个很好的习惯,有利于查看资源文件。
原则:
1)采用单词全拼,或者大家公认无岐义的缩写(比如:nav,bg,btn等)
2)采用“模块+功能”命名法,模块分为公共模块、私有模块。

    公共模块主要包括统一的背景,导航条,标签,公共的按钮背景,公共的默认图等等;

    私有模块主要根据app的业务功能模块划分,比如用户中心,消息中心等。
    例如 :用户中心 用户头像图片的命名可以为:uc_imageview_user_icon