美文网首页
iOS代码规范

iOS代码规范

作者: 默棉花开 | 来源:发表于2020-06-09 11:03 被阅读0次

    一. 项目结构 

     1.整体结构

    2.主要模块结构

     3.模块结构

     二.代码风格 

     1 类名 

      * 类名使用驼峰命名,比如 LTHomeOrderVC 

      * 创建子类,把代表子类的特点部分放在前缀和父类名的中间 

      比如: 

          LTHomeVC (父类) 

          LTTimeHomeVC  (子类) 

      * 在类.h文件尽量少引用其他头文件(可以减少编译时间) 

    可以在.h文件中使用 @class 类名;  在.m文件中 使用 #import "类名" 

     2 属性 

    * 对外的属性,尽量使用不可变对象(对外公布的属性设置为只读readonly,在.m文件内部设置为读写readwrite) 

    比如 

    * 属性应该尽可能表述性地命名,避免缩写,且是小写字母开头的驼峰命名

    * 最好能做好见名知其意

    * 一个变量有且只有一个功能,尽量不要把一个变量用作多种用途

    * 变量的名称必须同时包含功能与类型

     3 条件表达式 

    * 条件过多,过长的时候需要换行,为了代码看起来整齐 

    * 每个分支的实现必须使用{}包含

    * 条件判断的时候应该是变量在左,条件在右

    * 在一个代码块里面有可能的情况时,善于用return来结束异常情况

    * switch 语句后面 default分支必须存在,除非是在对枚举进行switch 

     4 方法 

    * 方法与方法之间间隔一行 

    * 方法最后面的括号需要另起一行,遵循apple的规范,对于其他场景的括号,括号不需要单独换行。比如if的

    * 如果方法参数过多过长,建议多行书写,用冒号进行对齐。

    * 一个方法内的代码最好保持在50行代码以内,过多会导致阅读体验差

    * 一个函数只做一件事,做到单一原则。所有的类、方法设计好后就可以类似搭积木一样实现一个系统

    * 对于有返回值的函数,且函数内有分支情况,得确保每个分支都有返回值

    * 多个函数如果有逻辑重复的代码,建议将重复的部分抽取出来,成为独立的函数进行调用

    * 函数如果有过个参数,外部传入的参数需要检查参数的非空、数据类型的合法性,参数错误做一些措施:立即返回、断言 

     5 控制器的方法及顺序 

     6 宏定义 

    * 尽量少用宏定义来定义具体类型的数据,使用 static NSString *const LT_Map_Key_Name = @"LT_Map_Key_Name"; 

    7 图片资源命名 

    * 项目标识+模块名称+功能+icon 比如: LT_Home_Order_Tap_icon 

     8 版本规范 

    *采用A.B.C 三位数命名 比如: 1.4.0 

    说明:重大版本增加A的数值,大版本增加B的数值,小版本更新增加C的数值

    * iOS适配到iOS8 (虽说现在已经很少有iOS8了)

     9 其他注意事项

    * 数组的遍历尽量不要用for,用 

    * NSInteger类型的字段,最好抽取一个枚举类型 

    * 多个网络请求,采用并发异步网络请求

    * 通知、timer、avplayer使用后,记得销毁

    * block循环问题,记得打破循环

    * 多变量操作,用完即毁的,记得套一层 @autoreleasepool,及时释放变量内存

    10 后续如果有,再补充

    相关文章

      网友评论

          本文标题:iOS代码规范

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