iOS开发者代码规范

2018-12-08  本文已影响11人  Snow_L

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行之内。

上一篇下一篇

猜你喜欢

热点阅读