iOS编程规范

Objective-C编程规范

  1. 原则 
    1.1 只遵循苹果公司发布代码中的主流代码风格,不参考任何第三方代码。 
    1.2 融入天源石化公司内部编程规范和习惯供开发者参考。

  2. 命名规范 
    2.1 变量、类名、函数名使用波浪式命名法,即碰到一个新的单词则使用大写字母开头,尽量使用完整的单词命名,尽量不采用缩写的单词命名; 
    2.2 全局变量使用 g_ 作为变量名前缀,静态变量使用 s_ 作为变量名前缀,其它情况不使用C/C++语言所提倡的匈牙利命名法; 
    2.3 类名使用大写字母打头,最好加上项目名称缩写作为前缀,如:IMMyself,IMRootViewController; 
    2.4 类的成员变量,使用下划线打头,如:_age; 
    2.5 加方法和减方法的方法名一律以小写字母打头,如:createTableView; 
    2.6 临时变量和函数参数以小写字母打头; 
    2.7 禁止在项目中的任何地方,包括文件名、目录名、逻辑目录名、项目名,使用空格或中文字符。

  3. 结构管理 
    3.1 建立ThridParty文件夹,将第三方库文件都放在该文件夹下。 
    3.2 分别建立viewControllers、views、models等文件夹将开发者自己封装的类对应放入其中,便于查找和管理。 
    3.3 多个功能块共用的类,建立Common文件夹,放入其中。 
    3.4 plist,image,audio,video,buddle等相关资源,放入Support Files文件夹,最好分别建立对应的文件夹。

  4. 书写规范 
    4.1 @interface与@implementation与#import之间空一行。 
    4.2 属性的声明和实现,尽量避免书写@synthesize,如果用到@synthesize,要紧接着@implementation书写,不要空行; 
    4.3 成员变量尽量写在@implementation内部,有必要对外暴露时,才写在@interface下: 
    4.4 临时变量的声明,必须赋值初始化,如:

    NSInteger x = 0;
    

    4.5 声明多个临时变量,必须另起一行,禁止如下写法:

    NSInteger x = 0, y = 0;
    

    4.6 临时变量的声明语句写完后,必须隔行开始书写逻辑代码,逻辑代码中可以穿插临时变量的声明语句,同样必须隔行书写,如:

    NSString *midLocalURL = [[g_pLCLog docDir] stringByAppendingPathComponent:[NSString stringWithFormat:@"%@,%d", fileID, [g_pModel midPhotoSize]]];
    
    
    if ([g_pFileMgr fileExistsAtPath:midLocalURL]) {
        CHECKB([g_pFileMgr removeItemAtPath:midLocalURL error:nil]);
    }
    
    
    UIImage *midImage = [image resizedImage:CGSizeMake([g_pModel midPhotoSize], [g_pModel midPhotoSize]) interpolationQuality:kCGInterpolationDefault];
    NSData *midData = UIImageJPEGRepresentation(midImage, kImageCompressionQuality);
    
    
    CHECKB([midData writeToFile:midLocalURL atomically:YES]);
    

    4.7 遇到新的代码块,必须隔行书写,包括函数的实现、if、switch分支语句、while、do…while、for循环语句等,例如:

    NSString *channelID = [g_pModel channelID];
    
    
    if ([channelID length] == 0) {
        channelID = @"iTunes";
    }
    
    
    [label setText:LCString(@"TEST_VERSION")];
    

    4.8 所有的逻辑块必须使用花括号包围,即使条件体只需编写一行代码也必须使用花括号,如下:

    if (!success) {
        return;
    }
    

    4.9 所有的二元运算符,以空格隔开,如 x += 12; 不应写成 x+=12; 
    4.10 所有的逗号后都要追加一个空格,如:CGRectMake(1, 3, 5, 7); 
    4.11 指针的声明,写在变量前,类名和之间用空格隔开,禁止写成C/C++提倡的写法:NSObject* obj = nil;应写成NSObject *obj = nil; 
    4.12 使用@synthesize命令时,编译器会自动创建一个下划线_开头的实例变量,不需要同时声明实例变量和属性。 
    不良风格:

    @interface IMSDK:NSObject {
        UInt32 versionID;
    }
    
    
    @property (nonatomic, readonly) Uint32 versionID;
    @end
    

    良好风格:

    @interface IMSDK:NSObject 
    @property (nonatomic, readonly) Uint32 versionID;
    @end
    

    4.13 尽量使用NSInteger取代int、使用NSUInteger取代unsigned int; 

    4.14 代码的注释应写在对应代码的上方或右边,禁止将注释写在对应代码的下方; 
    4.15 类中的每个功能模块以#prama mark – 分隔,上空两行,下空一行。 
    4.16 release版本程序中一律不准使用NSLog代码。 
    4.17 程序中变量、方法命名尽量能以字面意思表示功能,对于需要用注释来解释的部分代码,注释以如下格式表述:

    /**
    方法或变量名说明
    @param 参数1说明
    @param 参数2说明
    …
    @return 若方法又返回值则对返回值作说明
    */
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值