代码规范
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
加油!学无止境~