可选绑定的命名约定

Posted

技术标签:

【中文标题】可选绑定的命名约定【英文标题】:Naming convention for optional binding 【发布时间】:2015-10-17 12:08:10 【问题描述】:

最初阻止我在代码中加入太多可选绑定的一件事是添加了更多变量名。例如,我通常会写:

if bananasInBarrel != nil
  print("We have \(bananasInBarrel!) bananas in the barrel.")

因为替代方案似乎有点混乱:

if let safeBananas = bananasInBarrel
  print("We have \(safeBananas) bananas in the barrel.")

那是很多香蕉。我见过人们使用b 之类的东西作为新变量名(在更大的代码块中可能难以阅读),但我想知道变量名的样式是否有一个普遍接受的标准与可选绑定一起使用?感谢阅读。

【问题讨论】:

我会说普遍接受的标准是带有 if let 而不是 != nil 的标准。我会说它适合你们大多数人,不会成为真正的标准生活差异。PS:这不是可选的链接。 嘿,是的,我正在转换为if let 方法以获得更安全的代码,但想知道新变量的命名约定以简化可读性。它会变得一团糟! if let ... 是可选的绑定,而不是可选的链接。 是的。它确实会变得一团糟,但是当我为 swift 上一些课程或搜索一些专业的 swift 代码时,每个人都在使用 if let。这有点像 myName 之类的变量命名。快速的事情。为了拥有可选链接,您需要多个选项。如果最后一个可选项是 nil,那么所有的表达式都是 nil 我认为没有公认的标准。但请注意,您甚至可以使用相同的名称:if let bananasInBarrel = bananasInBarrel ... ,这会创建一个作用域为 if 块的bananasInBarrel 变量。 【参考方案1】:

只需使用相同的名称:

if let bananasInBarrel = bananasInBarrel 
  print("We have \(bananasInBarrel) bananas in the barrel.")

不要使用匈牙利符号 - 如果您使用未包装的可选项,编译器会报错。

【讨论】:

以上是关于可选绑定的命名约定的主要内容,如果未能解决你的问题,请参考以下文章

防止jQuery .on多次绑定

Android中的MVVMCross绑定不起作用

可选绑定,这里的“绑定”这个词到底是啥意思?

SwiftUI - 我们如何重新绑定绑定的可选参数?

jquery绑定事件on()方法

Backbone stickit - 使用类名和限定的“this”绑定