更轻量的 View Controllers && 整洁的 Table View 代码

http://objccn.io推荐序:

这一次objc中国干了一件对IOS开发人员很有意义的事--把objc.io的ObjectC的文章全部翻译出来了,这些文章中有很多都总结的非常不错,在此表示感谢,同时分享出来给大家!!!

本篇是第一篇,总结的就是我们平时最常用的best practice:

1、UITableView的DataSource的抽离

VC中最常用的就是UITableView的DataSource和Delegate的处理,而其DataSource的处理又基本上是这样一种模式:从本地或者网络请求数据(数组),然后对数组进行各种处理,最终在cellForRowAtIndexPath中对UITableViewCell进行各种配置,简单点的可以直接在VC中对Cell进行配置,复杂点的或者需要多处复用的Cell可以在单独的自定义的CustomTableViewCell中进行。

    每个需要UITableView中VC都会将其DataSource都实现一遍,非常的冗余,作者本篇就讲述了如何减少这种冗余,将各种冗余的DS都抽离出来,一直以来我不相信有天才的程序员,我觉得如果一个程序的模式很好,那其作者肯定阅读过不少优秀的代码。

2、数据与业务逻辑抽离

程序的开发的核心其实就是围绕着数据与业务逻辑打转,把数据读出来,按业务逻辑进行处理,然后呈现给用户/写回去。这一部分同样需要按相应的逻辑进行抽离,不能一股脑全都放到VC中。这一点恐怕是稍有经验或稍微有心的程序员在写了2年程序过后都应该会把相应的数据与业务抽离出来成为单独的类,比如现在我们要获取微博然后显示在UITableView中,那获取到的数据是一个数组,但是对于这些数据,我们肯定还会进行处理,这样我们就需要建立一个处理的类专门用于对获取到的数据进行处理,这些数据中有用户数据,我们就需要单独用一个User类将其抽离,考虑到程序的体验,可能我们还会进行本地缓存,这样我们可能就会建立Statuses类(User类是其子类)将获取到的数据保存到本地,这样一来又需要写一个类专门对本地的缓存数据读写。如果你写了2年以上APP程序了,但是现在还是没有这样做或者没有想过这样做,我建议你可以转行了。

总之,这篇文章围绕best practice进行了简单的阐述,对一些没有模式思想,没有最佳实践思想的程序员是一个不错的启迪。

衡量一个程序员是否优秀不再于他/她 写了多少程序,完成了多少产品,重点在于每个产品/每个工程中都是用的最少的代码完成最多的任务,程序稳定,代码高度模块化,扩展性与可维护性非常强,非常干净。


地址:

http://objccn.io/issue-1-0/

http://objccn.io/issue-1-2/

你可能感兴趣的:(※iphone开发,ios)