iOS编码规范整理(供参考)

简介: 每个公司甚至每个程序员都有自己的一套编码习惯,个体不同,风格自然是迥异的,为了项目的代码质量,团队往往会制定自己的编码规范。这是我们整理的编码规范,发表出来供大家参考哟。

每个公司甚至每个程序员都有自己的一套编码习惯,个体不同,风格自然是迥异的,为了项目的代码质量,团队往往会制定自己的编码规范。这是我们整理的编码规范,发表出来供大家参考哟。
iOS 编码规范
时间:2017-05-10 版本:1.0

前言:规范的编码可以避免很多问题,提高项目的稳定性,也增加了易读性和可维护性,所以,现在初步建立一套编码规范,之后再逐步完善。

1、命名规范
原则:
1)可读性高;
2)防止命名冲突;

类的命名
命名规范:
类名首字母大写,遵循OC语言的命名规范。类名要有实际的意义,如果类名太长,可
以省略一些不影响实际意义的单词,稍作简写。例如:
HomePageItemViewController ——> HomePageItemController
省略中间的view,大家依然知道它是一个VC,并不影响实际意义和可读性。
命名规则:
文件夹名字——类名——所属MVC类型结尾
例如:
HomeDetailViewController,————控制器
HomeDetailCell,————————-视图显示器
HomeDetailModel————————数据模型

变量命名
变量名称要有实际意义;
变量命名遵循OC的驼峰式命名规范;
如果是一个View,要以实际类型结尾;
变量名保持全英文结构,不要出现数字。
例如:cancelButton,titleLabel

常量命名
常量命名以m开头;
遵循驼峰命名规范;
例如:#define mScreenWidth ([UIScreen mainScreen].bounds.size.width)

方法名命名
小写字母开头;
有实际意义;
方法名前面一定要有注释;
公有方法最好以类名开头。
例如:
/**

  • 保存图片到相册
  • @param image 图片
  • @param success 成功回调
  • @param failure 失败回调
    /
    / + (void)saveImageToAppAlbum:(UIImage
    )image success:(void (^)())success failure:(void (^)(NSError *error))failure;

2、资源文件

图片资源

资源文件存储按照功能分类,按照现有项目举例,项目中有“首页”,“订阅”,“发现”,“我”四个模块,图片资源就按照如下图大致分类:

img_830385a0cd92910661f6d083e57df8fc.png
image.png

图片资源的命名要遵循“文件夹名字”—“子文件名字”—“图片名字”,如果图片名字很长的情况下,可以省略最外层文件夹名字,不过不建议省略。图片命名一定要是英文,禁止出现中文命名。

img_58e995e22ecfb62970d26ce7b0913099.png
image.png

音频,json,plist等其他资源文件

其他资源放在Supporting Files文件夹下,资源文件注意命名。

img_381be13b8c1b0bb6eff2065468b77a95.png
image.png

3、项目结构

现在项目的整体结构还是可以的,只是业务文件夹有些乱,没怎么整理。
项目结构上还是遵循MVC结构,按照功能分,一个模块一个文件夹,再加上三方库(如果使用pods,这个文件夹基本可以省略),Common文件夹

img_53b8d7957b02673530adc6de91c59a9d.png
image.png

Bussiness文件夹——业务

img_f4bdec40814fbc7e8a0c533ff7d671cd.png
image.png

home——首页

img_1c5ea69baa6683ec343ceff55a432a30.png
image.png

Common——公共

img_48dfe7a200f12abaa6459513041a85f4.png
image.png

类中方法顺序(这个协商决定就好)
从上到下依次是:

img_be15eff9821127c136e04c233b1f245c.png
image.png

重写父类的方法——> get/set——> 点击方法 ——> 自定义方法 ——> 代理方法

目录
相关文章
|
缓存 开发工具 iOS开发
iOS编码规范
本文档旨在总结出一份通用的编码规范,欢迎随时探讨补充。 代码格式 空格 不要在工程里使用Tab键,使用空格来进行缩进。在Xcode > Preferences > Text Editing将Tab和自动缩进都设置为4个空格。
3351 0
|
程序员 iOS开发 开发者
【iOS】iOS开发编码规范小结
规范编码可以提高代码的可读性,降低维护成本。作为一个程序员,要对自己写的代码负责,虽然bug无可避免,但是写代码时最基本的编码规则还是应该遵守的,否则不是坑自己就是坑别人,因为代码肯定是要维护的。 下面我主要讲一下从建项目到开发写代码时应该注意的一些地方和自己的一点建议。
1430 0
|
安全 iOS开发
《iOS取证实战:调查、分析与移动安全》一3.9 参考文献
本节书摘来自华章出版社《iOS取证实战:调查、分析与移动安全》一书中的第3章,第3.9节,作者(美)Andrew Hoog Katie Strzempka,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1057 0
|
安全 iOS开发
《iOS取证实战:调查、分析与移动安全》一2.7 参考资料
本节书摘来自华章出版社《iOS取证实战:调查、分析与移动安全》一书中的第2章,第2.7节,作者(美)Andrew Hoog Katie Strzempka,更多章节内容可以访问云栖社区“华章计算机”公众号查看
601 0
|
安全 iOS开发
《iOS取证实战:调查、分析与移动安全》一1.5 参考文献
本节书摘来自华章出版社《iOS取证实战:调查、分析与移动安全》一书中的第1章,第1.5节,作者(美)Andrew Hoog Katie Strzempka,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1018 0
|
前端开发 安全 iOS开发
《招聘一个靠谱的 iOS》-- 答案参考(上)
风格就错题 1.1优化部分 1.2硬伤部分 什么情况下使用weak关键字,相比assign有什么不同? 怎么用copy关键字? 这个写法会有什么问题:@property(copy) NSMutableArray *array; 如何让自己的类用c...
1176 0
|
移动开发 iOS开发 开发者
iOS开发者参考的RN资料推荐集合!nice!
http://www.cocoachina.com/ios/20170401/18996.html
765 0
|
数据库 iOS开发
iOS开发 落地消息多的处理办法(仅供参考)
1.首先要知道一点,你的消息储存是用数据库储存的! 看了一下微信和qq的消息处理,一般情况下第三方(亲加,容云,环信都会有本地的数据库)处理过的!   但是我发现,最近一个需求要求开发@”消息已读“@”消息送达“的处理,和UI显示。