Swift代码规范--自用型

空行

不多空行 不少空行

下列情况应该总是使用一个空行:

 1·两个方法之间
 2·两个类之间
 3·方法内的局部变量和方法的第一条语句之间
 4·块注释或单行注释之前
 5·一个方法内的两个逻辑段之间,用以提高可读性
 6·文件结尾
 7·import上方和下方
 8· ......


/*------import上方空一行------*/
import UIKit
import CoreBluetooth
/*------import下方空一行------*/
class ClassName: ParentClass {
    /*------方法内部第一行空行------*/
    var property: propertyType?
    var property2: propertyType?
    /*------方法与属性之间空一行------*/
    func function() {

    } 
    /*------方法之间空一行------*/
    func function2() {

    } 
    /*------方法内部最后一行空行------*/
}
/*------文件结尾空一行------*/
class ClassName: ParentClass {

    func function() {

    } 

}
/*------文件结尾空一行------*/

冒号

冒号遵循靠左规则 (左侧无空格,右侧一个空格,不多空)

---------------定义类---------------
class ClassName: ParentClass {

}

---------------定义字典---------------
var dict = [String: String]()
---------------定义属性---------------
var property: String?
---------------方法的参数---------------
func function(param: String) {

}

空格

下列情况应该总是使用一个空格:

 1·花括号前 (类定义, 方法定义, for循环, if语句 等等 <花括号遵循同行规则时>)
 2·逗号之后 (元组, 多参数 等等情况下)
 3·所有的二元运算符,除了".",应该使用空格将之与操作数分开
 4.方法返回值
 5.冒号定义(遵循上面冒号)


class ClassName: ParentClass {

}
    class ClassName:[空格]ParentClass[空格]{

    }

// ==================================================

func function() {

}
    func function()[空格]{

    }

// ==================================================
for _ in {

}
    for _ in[空格]{

    }
// ==================================================
if a == 5 {

}

    if a[空格]==[空格]5[空格]{

    }

// ==================================================

func function(param: String, param2: Int) -> Int {
    for i in 0..<10 {

    }
    if param == "" {

    }
    return 0
}

    func function(param:[空格]String,[空格]param2:[空格]Int)[空格]->[空格]Int[空格]{
        for i in 0..<10[空格]{

        }
        if param[空格]==[空格]""[空格]{

        }
        return 0
    }

缩进

按照层级缩进 不允许出现超出层级

func function() {
    if a == 1 {
print("a == 1")    
    }
}

上面的格式肯定是错的 必须按照层级来  闭包同样道理

func function() {
    if a == 1 {
        print("a == 1")    
    }
}

闭包的例子 看下面的代码就可以一眼看出闭包内部有第二个闭包

dialog.setConformButton(NSLocalizedString("PUSH_CHECK", comment: ""), handler: { (dialog) -> Void in
    print("====第一个闭包====")

    dialog?.dismiss({ () -> Void in
        print("====第二个闭包====")
    })
})

其余的 慢慢补充

坚持原创技术分享,您的支持将鼓励我继续创作!