美文网首页
iOS 代码规范(未完待续)

iOS 代码规范(未完待续)

作者: 我太难了_9527 | 来源:发表于2018-09-29 15:22 被阅读0次
                                                      ## 远孚代码规范
    

    此文章是适用于笔者的项目

    一.命名规范

    1.基本要求

    (1)含义清楚,尽量做到不需要注释也能了解其作用,若做不到,就加注释
    (2)尽量不使用缩写
    (3)每个类代码尽量控制在500行以内,每个方法控制在100行以内.

    2.类的命名

    (1)大驼峰式命名 每个单词的首字母都采用大写字母 且前面字母必须以 YF 开头 如:

    YFHomeNearMapViewController
    

    (2)后缀要求 如果是ViewController 就以ViewController当后缀 View 就以View当后缀, tableViewCell 就以 tableViewCell 等等 如

    YFHomeNearMapViewController,YFHomeItemView,YFHomeNearTableViewCell
    

    (3)私有变量
    ● 小驼峰式命名:第一个单词以小写字母开始,后面的单词的首字母全部大写 如

    pickGoodsDateEnd,pickGoodsDateStart;
    

    ● 以 _ 开头,第一个单词首字母小写 如

    NSMutableArray *_imageUrls;
    

    ● 私有变量放在 .m 文件中声明

    //userName 注释
    @property (nonatomic, copy, nullable)   NSString *userName;
    

    (4)宏定义
    ● 全部大写,单词间用 _ 分隔 如

    //常用的宏
    #define CODE_ZERO baseModel.code.integerValue == 0
    

    ● 按照驼峰命名法(带参) 如

    // 设置view的圆角和边框
    #define YFViewsBorder(View,radius,width,color)\
    \
    [View.layer setCornerRadius:(radius)];\
    [View.layer setMasksToBounds:YES];\
    [View.layer setBorderWidth:(width)];\
    [View.layer setBorderColor:[color CGColor]];
    
    //自定义颜色
    #define CustomColor(R,G,B,A) [UIColor colorWithRed:R/255.0 green:G/255.0 blue:B/255.0 alpha:A]
    

    ● 按照驼峰命名法(不带参) 如

    //获取设备的物理高度
    #define ScreenHeight [UIScreen mainScreen].bounds.size.height
    //获取设备的物理宽度
    #define ScreenWidth  [UIScreen mainScreen].bounds.size.width
    

    (5) 枚举
    ● 枚举的命名和类的命名一致按照驼峰命名法
    ● 枚举内容的命名需要以该Enum类型名称开头,如

    typedef NS_ENUM(NSInteger, MANaviAnnotationType)
    {
        MANaviAnnotationTypeDrive = 0,
        MANaviAnnotationTypeWalking = 1,
        MANaviAnnotationTypeBus = 2,
        MANaviAnnotationTypeRailway = 3,
        MANaviAnnotationTypeRiding = 4,
        MANaviAnnotationTypeTruck = 5
    };
    

    (6) 方法
    ●方法的命名和类的命名一致按照驼峰命名法 另外方法名需要能完整的说明这个方法是用来干什么的,如果有带参数的参数名也要能体验传入的参数是能起到什么作用如:

    /**
     选中哪条数据
     */
    - (void)jumpCtrlWithSelectSection:(NSInteger)selectSection selectIndex:(NSInteger) selectIndex;
    

    二.注释

    最好的代码是不需要注释的 尽量通过合理的命名
    良好的代码把含义表达清楚 在必要的地方添加注释
    注释需要与代码同步更新
    如果做不到命名尽量的见名知意的话,就可以适当的添加一些注释或者mark
    (1) 新建 model 注释 或者成员变量 如

    /**
      用户名
     */
    @property (nonatomic, copy, nullable) NSString * userName;
    
    //用户名
    @property (nonatomic, copy, nullable) NSString * userName;
    

    (2) 方法注释 如

    /**
     get 请求
    
     @param urlString 请求地址
     @param parameters 请求参数
     @param successBlock 请求成功回调
     @param failureBlock 请求失败回调
     */
    + (void)getWithURLString:(NSString *)urlString
                 parameters:(id)parameters
                    success:(SuccessBlock)successBlock
                    failure:(FailureBlock)failureBlock;
    

    三.UI 布局

    1.使用纯代码布局 需要是用Masonry进行添加控件之间的约束
    2.使用 xib 或者 storyboard 进行页面布局 需要添加约束
    目前项目主要采用的是基于AutoLayout的 xib 布局 这个最重要的是不允许添加约束有冲突的约束 如


    屏幕快照 2018-09-29 下午3.20.51.png

    相关文章

      网友评论

          本文标题:iOS 代码规范(未完待续)

          本文链接:https://www.haomeiwen.com/subject/qxavoftx.html