好的代码习惯可以给人一种艺术和美的体验
代码规范文件或项目开发文档,可以在团队开发中发挥意想不到的作用,也是项目交接或项目交流不可或缺的部分。
今天我把我的项目开发文档及规范分享出来,不喜勿喷,欢迎指正。
第一步:在项目中新建一个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筛选)
*/