iOS 代码规范

简单写了几点,参照了唐巧的类结构和Getter初始化方式。

iOS 代码规范

主题

    - 注释规范

    - 类结构

    - 属性初始化

    - 图片命名规则

    - 工程目录结构

    - 宏定义

    - Delegate 定义

    - HTTP 接口定义

1,注释规范

    1.1 单行注释

        /// 简要描述.

    1.2 多行注释

        /** 简要描述.

        *

        * 详细描述或其他.

        */

2,类结构

    使用#pragma mark –来分类方法

        #pragma mark – Life Cycle

        #pragma mark - Events

        #pragma mark – Private Methods

        #pragma mark - UITextFieldDelegate

        #pragma mark - UITableViewDataSource

        #pragma mark - UITableViewDelegate

        #pragma mark - Custom Delegates

        #pragma mark – Getters and Setters

3,属性初始化

    建议直接使用Getter初始化,但不建议在Getter里涉及太多逻辑。

    如果ViewController有多个View部分初始化,建议单独写个用作初始化的方法,例如 _initView OR _initSubview,数据初始化可以单独写作_initData 方便阅读。

4,图片命名规则

    4.1 建议使用Image Assets管理图片;

         Image Assets能很好区别二倍图和三倍图,并且能更直观的看到图片内容。

    4.2 图片文件命名;

        · 用英文命名,不用拼音

        · 每一部分用下划线分隔

        · 图片名中两倍图在名字最后要加@2x,三倍图在名字最后要加@3x

        规则: 模块 + 类别 + 功能 + 状态

        例如: tab + button + search + normal =  [email protected]

    4.3 图片文件夹分类尽量按功能模块分类;

5,工程目录结构

    工程目录结构分为:基础部分+功能模块部分;

     例如:Supporting Files + Resource + Vendor + UI Components + Category + Extendtion + 功能模块(Profile + Login 等等)。

6, 宏定义

    一般涉及宏定义的部分为工具部分(例如NSLog和获取UIApplication单例),另一部分是涉及http 接口部分,建议区分为不同的宏定义文件,以便于统一管理。

7,Delegate 定义

    Delegate的命名一定要写清楚Delegate所属,例如UITableview + Delegate;

    Delegate的方法定义时建议遵守Apple的规范,例如:-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;

    规则是:传递委托对象 + 传递参数

8,HTTP 接口定义

    建议直接建一个HttpInterfaceManager类,统一定义针对某一个Server的接口调用,可以用类结构(见同主题2)区分不同模块,如果工程涉及Http接口太多可以考虑按模块分类。

你可能感兴趣的:(iOS 代码规范)