iOS之代码规范

例行逛CocoaChina的时候发现一位楼主分享了一份关于代码规范的文章,仔细对比了一下,着实有些惭愧
原文链接:http://www.cocoachina.com/ios/20170105/18515.html
将自己认为紧要的记录一下,以便自己学习改正

注释一定要写

自己管理的类一定注释属性用途 方法的用途 参数的说明 属性如果设置默认值 一定注明默认值是什么 如果方法内部存在逻辑判断 方法跳转 一定注释判断用法 方法跳转用法 除了初始化操作 其他声明变量 赋值 判断 应该注明注释用途 注释的写法

  • Class类注释
iOS之代码规范_第1张图片
  • property属性的注释
  • 方法的注释 如果有返回值 请加上return
iOS之代码规范_第2张图片
  • Block注释
iOS之代码规范_第3张图片
  • NSUM的注释
iOS之代码规范_第4张图片

不允许外接修改的属性要设置readonly

对于只能获取的属性 一定写readonly

头文件引入的其他类 要使用@class

头文件引入的类使用@class声明不实用#import引入 可以防止互相引入 编译失败 不容易查找的BUG 造成的缺点 m文件还要#import 其他类调用这个类属性也要#import对应的类 综合来说宁愿自己多操作 也要防止这种循环引入的BUG的出现

BOOL类型属性的声明

属性set不要带is get要带is

控件命名的规范

对于命名一定不要简写 那篇很长的单词 但是一些单词就是简写的除外 比如WTO RMB UILabel结尾加上Label; UIImageView结尾记上ImageView 等等让其他的编程人员看名字就知道变量的用法 和属于什么控件

if判断里面的条件要提取出来

对于if里面很多的判断条件 要提取出来 方便之后进行断点测试

对于#define宏命名

单词全部的大写 单词之间用_分割

对于局部的变量尽量的初始化

局部的变量要初始化 属性有默认的值 所以我们不必须对于属性进行初始化

通知的移除

通知在dealloc要使用移除对象监听的方法

对于我们取值和存值的key要定义一下

定义一下key 方便我们使用 并且方便之后改名字

iOS之代码规范_第5张图片

对于block的循环引用使用weakify 和strongify

iOS之代码规范_第6张图片

属性要尽量使用懒加载

iOS之代码规范_第7张图片

多使用字面量

字符串 @””
NSNumber @()
字典 @{}
数组 @[]

多用类型常量 少用#define

对于一些状态 选项的使用枚举

尽量少用根据数字判断状态少用字符串 数字判断状态

iOS之代码规范_第8张图片

养成习惯把按照方法功能到分类里面

对于一些有按照功能类型的方法划分在一个分类里面 分类和之前类写在同一个文件

iOS之代码规范_第9张图片

对于一些自己不确定的可以使用try catch

对于不知道后台返回什么类型的 可以使用try catch

iOS之代码规范_第10张图片

需要便利字典和数组的内容 并且需要索引用enumerator

复杂的表达式

iOS之代码规范_第11张图片
iOS之代码规范_第12张图片

你可能感兴趣的:(iOS之代码规范)