代码规范

Swift代码基础规范

一、基础命名


1.1 代码中的命名,严禁使用拼音、中英文混合的方式,最好不要使用下划线或者符号开头。

1.2 文件名、class、struct、enum、protocol命名统一使用UpperCamelCase.(首字母大写 & 驼峰)

1.3 方法名、参数名、成员变量、局部变量、枚举成员统一使用lowerCamelCase。(首字母小写 & 驼峰)

1.4 命名时力求语义表达完整、清楚,不怕名称长。

1.5 全局变量命名:k + UpperCamelCase


二、定义、修饰


2.1 不使用魔法值(未经定义的常量)

2.2 能用let修饰的就不要使用var

三、格式


3.1 类、函数左大括号不另起一行,与名称之间留有空格

3.2 出现空格地点:

注释与注释内容之间有空格

类继承、参数名和类型之间,冒号前不加空格,冒号后面加空格。

运算符前后都有空格

表示返回值的 -> 前后都有空格

参数列表、数组、元组、字典里的逗号后面有一个空格

冒号一般情况下左侧无空格,右侧有空格。(特例:三目运算符 ? : 空的字典[:] addTarget方法的action为#selector(actionOne(_:)) )

3.3 禁止使用无用分号

3.4 方法之间空一行

3.5 每一行只声明一个常量/变量

3.6 if后面的else/else if,跟着上一个if的右大括号。

3.7 类、结构体初始化方法无需调用.init,省略之,直接使用()。( let view = UIView())

3.8 访问实例变量或方法时不使用self.,特殊场景除外,如构造函数、闭包内。

3.9 方法无返回值时,不需要添加void。

3.10 类似注解的修饰词单独占一行,如@objc @discardableResult等


四、注释


4.1 注释使用单行注释,即///。

4.2 多行注释用于某一段代码、设计、业务进行描述

4.3 对于公开的类、方法、属性需要加上注释。

4.4 注释放在代码的上一行。

五、规约


5.1 函数参数数量最多不可超过8个。

5.2 每行控制在100以内个字符。

5.3 避免强制解包以及强制类型映射,尽量使用if let或guard let进行解包。禁止使用try!形式处理异常。

5.4 在闭包中使用self时使用捕获列表[weak self]避免循环引用,闭包开始位置使用guard let判断self的有效性。

5.5 字符串判断为空,优先使用string.isEmpty,而不是string.count == 0

加油!学无止境~