持续更新,欢迎大家评论建议
结合现在项目的原因,统一的规范在一个项目上是必须的,有利于后来人代码阅读,也有利于自身的代码质量的提升。
- 左大括号不要另起一行
class TestClass {
/* ... */
}
2.使用委托和协议时,避免循环引用,定义属性的时候使用weak修饰
推荐
public weak var dataSource: UITableViewDataSource?
public weak var delegate: UITableViewDelegate?
3.在Closures中使用self时避免循环引用
推荐
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 解包多个
if let subview = subview, let volume = volume {
}
5.使用// MARK: - XXX进行分组
/// MARK: - System
// MARK: - Public
// MARK: - Action
// MARK: - Private
// MARK: - xxxDelegate
网友评论