iOS开发规范

好的代码习惯可以给人一种艺术和美的体验

代码规范文件或项目开发文档,可以在团队开发中发挥意想不到的作用,也是项目交接或项目交流不可或缺的部分。

今天我把我的项目开发文档及规范分享出来,不喜勿喷,欢迎指正。

第一步:在项目中新建一个h头文件。

第二步:在头文件中导入项目代码需要服从的设计规范。(以注释的形式写文档)一下是我写的部分规范,可供参考:

/*

*  项目开发规范

 *  @param 1、项目使用MVC的设计模式来开发,统一文件管理。

 文件夹(中文导航栏名称或模块名称):Controller文件夹、View文件夹、Model文件夹。

 *  @param 2、全部的--控件--通过使用继承来开发,对基础控件使用BaseUI来初始化,便于技术变更的维护。

 基础类:BaseView设计和添加基础方法,所有用到的UIView继承BaseView来初始化。(存于独立管理模块)

 *  @param 3、全部的--第三方SDK--应用通过本地封装-集成的方式来使用,不可以直接使用第三方的控件和方法,便于维护和后期调整。

 SVP或下拉刷新的第三方应用: 对调用的方法先本地封装,再通过本地封装的方法来使用,后期修改本地封装的地方来调整。(存于独立管理模块)

 *  @param 4、统一封装--公共类方法--的处理,通过类方法的方式封装管理,便于维护和后期调整。

 对复用性强的独立方法或属性:通过封装来调用,如设置可变颜色,日期获取、字符串校验等。(存于独立管理模块)

 *  @param 5、统一封装--颜色值--的处理,分开管理背景色和文字颜色。便于维护和后期调整。

 颜色值的处理:通过注释说明 前缀+颜色名称+类型名称 的规范来设置。

 如:注释:白色背景色 宏名称:AY+Back+White+Color +值。(存于独立头文件)

 *  @param 6、统一封装--接口地址--的处理,分开服务地址和数据地址。便于维护和后期调整。

 接口地址的处理:通过注释说明 前缀+微服务名称+接口名称+类型名称 的规范来设置。

 如:注释:用户登录接口 宏名称:AY+User+Login+URL +值。(存于独立头文件)

 *  @param 7、统一对象--命名规范--的处理,必须使用驼峰格式,便于识别和查找。

 文件夹命名:外侧文件夹使用纯英文,内层文件夹使用英文+(中文模块名称或导航栏名称)。

 如:Login(登录)。

 类对象命名:通过注释说明(在h文件头部添加注释 在界面流程复杂的控制器中需要说明界面流程步骤) 前缀+类名称+级别名称+类型名称 的规范来命名。

 如:注释:用户登录界面 类名称:AY+Login+Home+Controller。

 全局对象命名:通过注释说明 对象名称+类型名称 的规范来命名。

 如:注释:用户手机号输入框 对象名称:userPhoneTextField。

 方法命名:通过注释说明 方法作用对象名称或作用类型名称+方法名称+方法参数 +With+方法参数 的规范来命名。

 如:注释:检测字符串是否为手机号 对象名称:string+Check+Is+IDCard。

 宏定义命名:通过注释说明 前缀名称+属性名称+定义名称+类型名称 的规范来命名。

 如:注释:微信支付成功通知 宏定义名称:AY+WeChat+PaySuccess+Notification。

 图标的命名:图片组名称+属性名称+图片名称+类型名称 的规范来命名(中间添加下划线)。

 如:user_icon_login_image。

 *  @param 8、统一管理--图片存放--的处理,非必要的图标或图片:必须分组存放在Assets中管理。便于管理、查找或修改。

 通过模块化的方式:在Assets添加图片组,图标的命名:组名称+属性名称+图片名称+类型名称 的规范来命名(中间添加下划线)。

 如:user_back_login_cell。(图片名称会被代码方法来识别,尽可能不使用中文)。

 *  @param 9、统一管理--视图间距--的处理,通过宏定义处理间距,间距大小避免计算误差必须使用4的整数倍设置。便于管理、查找或修改。

 间距命名:通过注释说明 前缀名称+属性名称+作用名称+间距名称 的规范来命名。

 如:注释:主页底部视图左右间距-12 间距名称:AY+Home+Cross+Space+12。注释:主页底部视图上下间距-24 间距名称:AY+Home+Vertical+Space+24。

 *  @param 10、通知名称、第三方Key、第三方ID、屏幕宽高等,必须使用宏定义。

*/

第三步:对项目中的文件夹和对应文件做开发说明。为开发文档。一下为我的部分开发说明,可供参考:

/*

* Home(首页)文件夹--首页模块

* Controller文件夹

   *更多酒店文件夹--首页新增共享酒店--更多酒店

      *  @param HomeMoreHotelVController--首页--更多--共享酒店

      *  @param HomeHotelListController--首页--更多--共享酒店--嵌套在HomeMoreHotelVController的酒店列表

   *首页搜索文件夹--首页酒店搜索

      *  @param HotelSearchViewController--首页导航栏搜索酒店--酒店搜索界面

      *  @param SearchHotelListViewController--首页--开始搜索按钮--多条件查询酒店

   *首页主页文件夹--首页主界面

      *  @param HomeHomeVController--首页主页

   *酒店详情文件夹--酒店详情、下单、评价列表

      *  @param HotelPayOrderVController--酒店下单--创建订单界面

      *  @param HotelDetailJudgeVController--酒店详情--酒店评价视图--评论列表界面

      *  @param HotelShareViewController-酒店详情界面--分享酒店界面--(被弃用)

      *  @param HotelInformationVController--酒店详情界面--分块设计详情

   *更多城市文件夹--首页主界面

      *  @param HomeMoreCityVController--首页--更多--开放城市

* Model文件夹

  *  @param HotelShowModel--酒店数据模型--对应HotelShowTableCell

  *  @param HotelRoomModel--酒店详情--酒店客房数据模型--对应HotelRoomTableCell

  *  @param CityShowModel--首页城市数据模型--对应HomeCityCollectCell

  *  @param HotelAskModel--酒店详情--酒店评价数据模型--对应HotelAskTableCell

  *  @param RoomhotelFacilityVOSModel--房间详情--房间参数数据模型--嵌套在HotelShowModel和HotelRoomModel中

* View文件夹

  *Cell文件夹--首页设计的cell

     *  @param HotelShowTableCell--首页--酒店搜索列表cell--对应在SearchHotelListViewController

     *  @param HotelRoomTableCell--酒店详情--酒店客房cell--对应在HotelDetailRoomListVController

     *  @param HotelAskTableCell--酒店详情--酒店评论cell--对应在HotelDetailsAskShowView

  *Cell_xib文件夹--首页设计的cell-带xib设计

     *  @param HomeHotelCollectCell--首页新增酒店--酒店列表视图--嵌套在HomeHotelListView中cell

     *  @param HomeCityCollectCell--首页开放城市--开放城市视图--嵌套在HomeOpenCityShowView中cell

     *  @param HomeRoomCollectionCell--首页精选酒店视图--HomeHistoryShowView中cell

     *  @param WSLWaterCollectHeaderView--瀑布流布局头部和尾部视图

     *  @param AskImageCollectionCell--酒店评论--评论图片cell--嵌套HotelAskTableCell

  *酒店详情视图文件夹--酒店详情界面的分块设计视图

     *  @param HotelDetailsHeaderView--酒店详情视图--头部轮播、信息、位置导航、电话视图

     *  @param HotelDetailsRoomListView--酒店详情视图--房间列表视图视图

     *  @param HotelDetailsWordShowView--酒店详情视图--酒店介绍视图

     *  @param HotelDetailsAskShowView--酒店详情视图--评论列表视图

     *  @param ShowHotelRoomDetailsView--展示酒店房间详情信息视图--弹框

     *  @param OrderPayChioceView--订单支付--支付方式选择弹框

     *  @param HotelDetailsARecommendHotelListView--订单详情--推荐酒店列表视图

     *  @param RoomLoadTimeView--酒店下单--查询房间满房状态--日期选择视图

  *首页视图文件夹--首页主界面的分控件

     *  @param HomeNavSearchView--首页主页--导航栏搜索视图

     *  @param HomeOrderShowView--首页主页--酒店下单选择视图

     *  @param HomeHistoryShowView--首页主页--精品客房展示视图

     *  @param HomeOpenCityShowView--首页主页--开放城市展示视图

     *  @param HomeProviceHotelView--首页主页--新增共享酒店视图

  *酒店搜索文件夹--酒店搜索界面的分控件

     *  @param SearchHotelSubView--酒店搜索界面--搜索框视图--(SearchHotelListViewController城市、筛选)

     *  @param SearchSiftView--酒店搜索搜索框视图--筛选条件视图(SearchHotelSubView筛选)

 */

若转载,请注明来源。

你可能感兴趣的:(iOS开发规范)