iOS个人项目经验及编码规范

前言:

iOS开发过程中,代码规范及项目目录,是在开发中起到非常总要的作用的,好的代码规范会对一个团队是非常重要的作用。方便维护,利己,利人...。

好的项目结构,可以使业务层更加清晰等等诸多好处。

第一次:

2015年10月,我来到红舞联盟 经过半年多的洗礼,我开始我人生中的第一次,去做整个项目的主导(就是当个小组长),我主要负责项目进度,架构,调研等。

架构:

当时主要考虑一下几点:

1.网络API:

2.view层

3.数据本地持久化

4.动态部署方案

网络API:

网络API :是考虑的离散型结构,一个义务对应一个api。一个模块有一个api的集合.


iOS个人项目经验及编码规范_第1张图片

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)

注释编写规范

类声名:


函数声明:

要求尽量每个暴露给外面的接口都编写以下注释

iOS个人项目经验及编码规范_第2张图片

打个小广告

本人目前在研究web前端开发,买了一些视频,筛选出讲好的,自己在淘宝上出售:https://item.taobao.com/item.htm?id=540946716944(自己的淘宝店,请多多支持)

你可能感兴趣的:(iOS个人项目经验及编码规范)