持續(xù)更新,歡迎大家評(píng)論建議
結(jié)合現(xiàn)在項(xiàng)目的原因慨蓝,統(tǒng)一的規(guī)范在一個(gè)項(xiàng)目上是必須的,有利于后來人代碼閱讀弧满,也有利于自身的代碼質(zhì)量的提升。
- 左大括號(hào)不要另起一行
class TestClass {
/* ... */
}
2.使用委托和協(xié)議時(shí)谱秽,避免循環(huán)引用,定義屬性的時(shí)候使用weak修飾
推薦
public weak var dataSource: UITableViewDataSource?
public weak var delegate: UITableViewDelegate?
3.在Closures中使用self時(shí)避免循環(huán)引用
推薦
resource.request().onComplete { [weak self] response in
guard let strongSelf = self else {
return
}
let model = strongSelf.updateModel(response)
strongSelf.updateUI(model)
}
4.可選型使用guard或者if let解包后使用
// guard 解包
guard let giftView = giftViewArr[toMicId] else {return}
// if let 解包
if let giftView = giftViewArr[toMicId] {
}
// if let 解包多個(gè)
if let subview = subview, let volume = volume {
}
5.使用// MARK: - XXX進(jìn)行分組
/// MARK: - System
// MARK: - Public
// MARK: - Action
// MARK: - Private
// MARK: - xxxDelegate