美文网首页
iOS开发中积累的一些代码规范

iOS开发中积累的一些代码规范

作者: McDuff | 来源:发表于2016-03-25 14:15 被阅读121次

在开发过程中,我们不仅要去看别人的代码,也要让别人看我们的代码。那么,有一个良好的编码习惯将会非常重要。下面就是一些较常规的代码规范。
【1】声明类或方法时,注意空格的使用,参数过多时可换行保持冒号对齐

- (id)initWithName:(NSString *)name
               age:(NSInteger)age
               sex:(MDPersonalSex)sex;

调用方法时也是如此,参数都写在一行或换行冒号对齐

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"title"
                                                message:@"message"
                                               delegate:self
                                      cancelButtonTitle:@"取消"
                                      otherButtonTitles:@"确定", nil];

【2】命名规则:类名首字母大写,方法首字母小写,方法中的参数首字母小写,同时尽量让方法的命名读起来像一句话,能够传达出方法的意思,同时取值方法前不要加前缀“get”

- (void)choosePhotoAtIndex:(NSUInteger)index;

变量名小写字母开头

NSString *title = [titleArray objectAtIndex:0];

常量用小写字母k开头,后续首字母大写

static const NSString *kBaseServiceUrl = @"www.baidu.com";

【3】尽可能保证 .h文件的简洁性,可以不公开的API就不要公开了,写在实现文件中即可
【4】Xcode支持Objective-C/C/C++混编,所以引用头文件时:#import Ojbective-C/Objective-C++头文件(Objective-C++是Objective-C与C++混编的文件),#include C/C++头文件。
【5】写delegate的时候类型应该为weak弱引用,以避免循环引用。

@property (nonatomic, weak) id<MDPersonalDetegate> delegate;

【6】实例变量申明的时候前面加下划线"_",局部变量不用。

@interface MDPersonal : NSObject {
    @private
    NSString *_name;
    NSUInteger _age;
    MDPersonalSex _sex;
}

【7】在每个方法的定义前留白一行,也就是在方法和方法之间留空一行。
【8】功能相近的方法要放在一起,并推荐使用#pragma mark - ***来导航代码,切分代码块。这样可以方便函数的查找。并且可以使用快捷键control+6 来快速查找方法的位置。

#pragma mark - UITableViewDataSource
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    return self.dataSource.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    SCTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([SCTableViewCell class]) forIndexPath:indexPath];
    return cell;
}

【9】二元运算符和参数之间要有一个空格,如赋值号=左右各留一个空格。

self.myString = @"235423523452345";

【10】一元运算符和参数之间不放置空格,比如!非运算符,&,|等

BOOL isOpen = true;
BOOL isClose = !isOpen;

【11】强制类型转换和参数之间不放置空格。

NSString *str3 = (NSString*)self.myString;

【12】长的变量值应该拆分为多行。尤其体现在使用数组或者字典。以下也分别是快速声明数组@[]和字典@{}的方法。

NSArray *array = @[@"1111111",
                   @"2222222",
                   @"3333333",
                   @"4444444"
                  ];
NSDictionary *dict = @{@"key1":@"11",
                       @"key2":@"22",
                       @"key3":@"33",
                       @"key4":@"44"
                      };

【13】尽量减少代码中的重复计算,比如代码中多处要使用屏幕宽度:[[UIScreenmainScreen] bounds].size.width ,然后计算很多次,闲得很繁琐,代码也冗长。不如直接宏定义:

#define SCREEN_WIDTH ([[UIScreen mainScreen] bounds].size.width)

【14】宏定义全部字母大写
【15】定义枚举的时候用typedef

typedef NS_ENUM(NSInteger, MDPersonalSex) {
    ///性别保密
    MDPersonalSexDefault,
    ///男
    MDPersonalSexMale,
    ///女
    MDPersonalSexFemale
};

【16】第一个花括号直接跟在方法体后,而不是另起一行,这样可以减少代码行
【17】Protocol单独用一个文件来创建,尽量不要与相关类混在一个文件中。
【18】代表类方法和实例方法的"+"加号,"-"减号后需要一个空格。
【19】加载xib时名称最好用NSStringFromClass(),可以避免书写错误

[self.tableView registerNib:[UINib nibWithNibName:NSStringFromClass([SCSmartApplyPhotoCell class]) bundle:nil]
         forCellReuseIdentifier:NSStringFromClass([SCSmartApplyPhotoCell class])];

【20】如果使用第三方库,尽量不要修改其内部实现,而是应该再次封装,个性定制。
【21】如果属性是BOOL类型,建议在括号中重写Get方法名称,已提高代码可读性

@property (assign, nonatomic, getter=isShow) BOOL show;

待续,不断完善中。

注:上面都是我的一家之言,如果大家的开发团队或者公司有自己的编码规范,当然按照团队的来。

相关文章

  • iOS开发中积累的一些代码规范

    在开发过程中,我们不仅要去看别人的代码,也要让别人看我们的代码。那么,有一个良好的编码习惯将会非常重要。下面就是一...

  • 乐乎-代码规范概述

    参考: 1、iOS中书写代码规范35条小建议 2、iOS开发总结之代码规范 3、iOS代码编程规范-根据项目经验汇...

  • iOS开发总结之代码规范

    iOS开发总结之代码规范

  • 工作总结-----java 开发规范总结

    个人工作开发规范总结,慢慢积累,慢慢进步,写出无可挑剔的代码 1 java 开发规范 1.1 校验规范 字...

  • iOS开发 - 开发中的代码规范

    引言:Objective-C 是一门面向对象的动态编程语言,主要用于编写 iOS 和 Mac 应用程序。关于 Ob...

  • iOS个人项目经验及编码规范

    前言: iOS开发过程中,代码规范及项目目录,是在开发中起到非常总要的作用的,好的代码规范会对一个团队是非常重要的...

  • 技术在于交流,知识在于收集(一)

    收集的一些iOS开发技术博客与牛人共同进步 iOS基础: OC语法基础 OC代码规范 从零学习iOS开发的15条建...

  • iOS开发规范

    iOS代码编写规范Git的使用iOS进阶开发 目的 了利于项目维护以及规范开发,促进成员之间Code Review...

  • iOS开发中的代码规范

    Objective-C代码编写规范 1. 命名规范 我们尽可能遵守Apple的命名约定, 其推荐使用长的、描述性强...

  • iOS代码规范:初始化方法

    关于更多代码规范,可以点击查看《iOS代码规范》 在日常开发中,会多人同时开发一个需求。同事A提供了自定义初始化方...

网友评论

      本文标题:iOS开发中积累的一些代码规范

      本文链接:https://www.haomeiwen.com/subject/pmzrlttx.html