00『 基础知识 』架构算法设计模式和编程理论今日任务

iOS开发 | 代码组织之道

2017-02-21  本文已影响544人  Lol刀妹
恩地

正确组织代码的意义:

方便他人同时也是方便自己快速定位代码、修改代码。

怎样组织才是正确的:

也许组织的方式有很多种,每个人的习惯和风格都有所不同,但无论怎样,清楚明了、一目了然才是真正的组织之道。

分享一下我个人的组织习惯:

还是那句话,每个人的习惯都不同、没有标准的答案,但是最终呈现出来的一定是简单直观、赏心悦目的。先上图,一个主页的VC:

代码模块分区 接上
模块分区用#pragma mark - 大模块,会有一条分隔线;
大模块中的小模块划分我一般用#pragma mark -- 小模块

对于比较复杂的VC,我是这样分区的:

1. 懒加载
懒加载基本上是做一些初始化的操作,所以我把它放在最前面。项目中运用懒加载的地方不少,除了数组外,更应该用懒加载的地方有:侧滑菜单、一个scrollView里几个子视图控制器时(类似于系统的tabBarController)等这种创建比较消耗内存和时间的。
2. 构造方法
重写init方法或自定义init方法,可以用自定义init方法传值,如:

/** 构造方法,传入商品ID */
- (instancetype)initWithGoodsID:(NSString *)goodsID;

3. 生命周期
按照生命周期的顺序依次写好几个方法:

按顺序写好
4. 静态UI搭建
静态UI,指固定不变的UI,比如说导航栏、返回按钮、背景颜色等等,这些一旦创建完成就不会再改变的。
5. 数据获取与解析
数据获取和解析一般是封装在一个专门的类里面,根据传入的参数直接得到最终需要的数据源。
6. 动态UI搭建 展示数据内容
所谓动态,是相对于静态而言,获取到的数据不同,创建的UI就不同。只有获取到数据后才能搭建的页面,它只能在数据获取与解析之后进行。比如说图文混排,使用什么控件、怎么展示,只有在获取数据之后才知晓。
7. 页面跳转
这个就不多说了,写清楚:
页面跳转一抹多
8. 其它根据实际情况组织分类
这里省略一大堆

9. 最后一块,系统代理方法
我习惯把系统代理方法写在最后,比如说tableView的一堆代理方法,要查看代码的时候按end键或cmd+下方向键直接到末尾。

系统代理方法写在最后

最后

“为什么你对代码如此执着?”
“因为我曾经被别人的代码深深伤害过,我不想伤害别人...”


2018年3月8日更新

最近项目添加微信登录功能,我下载了微信登录的demo看了下,这里面的代码组织非常简洁清晰,大家可以参考下:

不过它所有控件都是用的懒加载,或许是为了保持统一,不过我不太赞同这种写法,理由如下:谈谈我对懒加载的一点看法

上一篇下一篇

猜你喜欢

热点阅读