博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS编码规范整理(供参考)
阅读量:5860 次
发布时间:2019-06-19

本文共 1447 字,大约阅读时间需要 4 分钟。

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

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——> 点击方法 ——> 自定义方法 ——> 代理方法

转载地址:http://vdgjx.baihongyu.com/

你可能感兴趣的文章
jQuery Wookmark 瀑布流布局
查看>>
bzoj1607
查看>>
spfa算法详解
查看>>
从一道试题分析请求分页的虚拟内存机制、高速缓存的cache机制以及两者之间的区别联系...
查看>>
CodeForces 540D Bad Luck Island 概率dp
查看>>
.NetCore使用skywalking实现实时性能监控
查看>>
jison解析Cube信息 存入又读取出来
查看>>
第四次作业
查看>>
第五篇5.1章
查看>>
分布式文件系统-HDFS
查看>>
谈谈企业的数据工作!——企业的数据分析能力金字塔
查看>>
html-切换360浏览器的极速模式
查看>>
function 与 => 的区别
查看>>
kali linux常用wifi攻击工具
查看>>
VBScript:写excel的例子
查看>>
SpringMVC(十二)自定义异常处理器 HandlerExceptionResolver(接口)
查看>>
实验一 巩耀阳 201421430029
查看>>
Inkpad绘图原理浅析
查看>>
043_关于Salesforce集中权限的解释
查看>>
TYVJ P1077 有理逼近 Label:坑,tle的好帮手 不懂
查看>>