前言:
iOS开发过程中,代码规范及项目目录,是在开发中起到非常总要的作用的,好的代码规范会对一个团队是非常重要的作用。方便维护,利己,利人...。
好的项目结构,可以使业务层更加清晰等等诸多好处。
第一次:
2015年10月,我来到红舞联盟 经过半年多的洗礼,我开始我人生中的第一次,去做整个项目的主导(就是当个小组长),我主要负责项目进度,架构,调研等。
架构:
当时主要考虑一下几点:
1.网络API:
2.view层
3.数据本地持久化
4.动态部署方案
网络API:
网络API :是考虑的离散型结构,一个义务对应一个api。一个模块有一个api的集合.
view层:
view 层是和义务挂钩比教紧的层级,这里一般会按功能分离
数据本地持久化:
使用sqlite+NSUserDefaults 根据不同数据量去存储
动态部署方案:
动态打包提交测试:xcode_shell-master 是基于shell 的开源插件。
上线后:动态修改线上出现的小问题这里用到的是JSPatch。
项目代码编写规范:
类名或者协议名:
1.类名
首字母大写且大小写混搭,跨应用的还要加前缀类应该包含一个名词,表达类代表的事物或干的事情,一般加前缀,如系统的NSString, NSDate;自定义的控件MTTAlertView等
2.协议名
协议名参照它的文件名,如UIView-Hierarchy文件中的UIView(Hierarchy)命名
函数名:
1.全局的东西,也要带前缀。前缀后的第一个字母大写。后面大小写混搭。如:MTTScreenHeight()
2.大部分名字以动词开头描述函数的功效。如NSHighlightRect,NSDeallocateObject
3.当返回值是取第一个参数的property时,不用动词,如:unsigned int NSEventMaskFromType(NSEventType type) ,float NSHeight(NSRect aRect)
4.如果返回的值是用reference表示的,用”Get”,如:const char *NSGetSizeAndAlignment(const char *typePtr, unsigned int *sizep, unsigned int *alignp)
5.返回值是boolean的,如下面这样的命名方式:BOOL NSDecimalIsNotANumber(const NSDecimal *decimal)
注释编写规范
类声名:
函数声明:
要求尽量每个暴露给外面的接口都编写以下注释
打个小广告
本人目前在研究web前端开发,买了一些视频,筛选出讲好的,自己在淘宝上出售:https://item.taobao.com/item.htm?id=540946716944(自己的淘宝店,请多多支持)