《iOS App 开发的那些事儿》系列文章从更宏观的角度出发,不单单局限于具体某个功能、界面的实现,而是结合网易云信 iOS 端研发负责人多年的经验,从如何优化现有代码的角度出发,深度分析如何创造出 iOS App 开发中比较合适的规范和框架。ios
你们都理解软件开发须要合适的规范:代码规范,程序规范,流程规范等等,以此来减小意外的出现:最少惊讶原则。但在实际执行中却会碰到各类状况,其中最大的问题是:怎么鉴别哪些规范是须要强制执行,哪些规范是推荐执行。
规范的强制执行带来的是代码的可读性提高和二义性减小,而坏处也是显而易见的:对于大部分有想法的程序员而言这种规定太死板,容易引发抵触心理,产生不安定因素。这种状况常见于各类标准的外包公司。
而若是大部分的规范设定为推荐执行,在没有良好的引导下,规范容易被忽视。 网上有不少关于ObjC的代码规范,好比苹果自家的规范和《Google Objective-C Style Guide》等。这些规范通常只有两种分级:推荐和不推荐。而我更推荐把代码规范分红五个等级:强制要求,强烈推荐(但不强制),良好,可接受和不可接受。
如下仅举部分例子加以说明。git
Core:工程内一些通用的机制实现类:统一的任务管理,模块管理,服务管理。
General:公用类和方法,包括工程内ViewController,UITableViewCell基类(Base),公用Category(Category):公用UI组件(CustomUI),公用辅助方法(Helper)和宏定义(Marco)。
Model:公用数据模型
Sections:不一样程序单元。如登陆,设置等等。其下又能够按照功能分红不一样的子目录:当前单元使用的自定义UI组件,管理类,数据模型和ViewController等等。
Vendors:第三方库。程序员
《iOS App开发的那些事儿》第二篇文章将会向你们介绍什么是合适的框架,如何搭建合适的框架,欢迎你们积极发表本身的见解,与咱们共同讨论。github
随着即时通信以及音频处理和压缩技术的不断发展,效果更好、适用范围更广、性能更高的算法和新的技术必将不断涌现,若是你有好的技术或者分享,欢迎关注网易云信官方博客和 GitHub:算法
关注更多技术干货内容: 网易云信博客
欢迎关注 网易云信 GitHub
欢迎关注 网易云信官网