美文网首页
iOS开发者代码规范

iOS开发者代码规范

作者: Snow_L | 来源:发表于2018-12-08 13:42 被阅读11次

    1. 代码注释格式

    (1)文件注释:采用Xcode自动生成的注释格式。

    //

    //  AppDelegate.h

    //  项目名称

    //

    //  Created by ling on 2018/12/8.

    //  Copyright © 2018年 开发者名称. All rights reserved.

    //

    (2)import注释:如果有一个以上的import语句,对这些语句进行分组,每个分组的注释是可选的

    // Framework

    #import<UIKit/UIKit.h>

    // Model

    #import"LBModel.h"

    // View

    #importLBView.h"

    (3)方法注释:Xcode8之后快捷键自动生成(option + command + /)。

    /**

    <#Description#>

    @param application <#application description#>

    @param launchOptions <#launchOptions description#>

    @return <#return value description#>

    */

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;

    (4)代码块注释:单行的用 “// + 空格” 开头, 多行用“/* */”。

    2. 代码结构与排版

    (1)声明文件:方法顺序和实现文件的顺序保持一致,根据需要用”#pragma mark -“将方法分组。

    (2)实现文件:必须用”#pragma mark -“将方法分组。分组前后优先级:Lifecycle方法 > Public方法 > UI方法 > Data方法 > Event方法 > Private方法(逻辑处理等) > Delegate方法 > 部分Override方法 > Setter方法 > Getter方法。

    #pragma mark - Lifecycle

    - (instancetype)init {}

    - (void)viewDidLoad {}

    - (void)viewWillAppear:(BOOL)animated {}

    - (void)viewDidAppear:(BOOL)animated {}

    - (void)viewWillDisappear:(BOOL)animated {}

    - (void)viewDidDisappear:(BOOL)animated {}

    - (void)didReceiveMemoryWarning {}

    - (void)dealloc {}

    #pragma mark - Public

    - (void)refreshData {}

    #pragma mark - UI

    - (void)initSubViews {}

    #pragma mark - Data

    - (void)initData {}

    - (void)constructData {}

    #pragma mark - Event

    - (void)clickButton:(UIButton *)button {}

    #pragma mark - Private

    - (CGFloat)calculateHeight {}

    #pragma mark - UIScrollViewDelegate

    - (void)scrollViewDidScroll:(UIScrollView *)scrollView {}

    #pragma mark - Override

    - (BOOL)needNavigationBar {}

    #pragma mark - Setter

    - (void)setWindow:(UIWindow *)window {}

    #pragma mark - Getter

    - (UIWindow *)window {}

    (3)变量:优先使用属性声明而非变量声明,注意属性修饰符、变量类型、变量之间的间隔

    @property (nonatomic, strong) UIView *lbView;

    (4)点语法:应始终使用点语法来访问和修改属性。

    (5)间距要求如下:

    一个缩进使用四个空格。

    在”-“或者”+“号之后应该有一个空格,方法的大括号和其它大括号始终和声明在同一行开始,在新的一行结束,另外方法之间应该空一行。

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

        if (door.isClosed) {

            // Do something

        } else {

            // Do something

        }

        return YES;

    }

    (6)长度要求如下:

    每行代码的长度不应该超过100个字符。

    单个函数或方法的实现代码控制在50行以内。

    单个文件里的代码行数控制在500~600行之内。

    相关文章

      网友评论

          本文标题:iOS开发者代码规范

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