Swift 中关于 Bool var 和 func 命名约定的混淆
Confusion about Bool var and func naming convention in Swift
我正在开发 iOS/Swift 应用程序。看到 Google (https://google.github.io/swift/) 提供的 Bool
变量和函数命名约定后,我感到困惑。因为 Swift 本身跟在 Google 的建议中没有提到的简单副词,即
https://developer.apple.com/documentation/swift/array/2945493-contains
命名函数 returns Bool 的正确方法应该是什么?
Option 1. matches(string: String) -> Bool
Option 2. isMatched(string: String) -> Bool
我更喜欢自己将其命名为 matches
,但我的团队成员希望将其命名为 isMatched
。
来自Swift API Design Guidelines
Uses of Boolean methods and properties should read as assertions about the receiver when the use is nonmutating, e.g. x.isEmpty
, line1.intersects(line2)
.
所以他们都是正确的。基金会也同时使用两者:例如
12.isMultiple(of: 2)
[12].contains(2)
// and more e.g.
"accept".hasPrefix("a")
唯一重要的是正确阅读。
我正在开发 iOS/Swift 应用程序。看到 Google (https://google.github.io/swift/) 提供的 Bool
变量和函数命名约定后,我感到困惑。因为 Swift 本身跟在 Google 的建议中没有提到的简单副词,即
https://developer.apple.com/documentation/swift/array/2945493-contains
命名函数 returns Bool 的正确方法应该是什么?
Option 1. matches(string: String) -> Bool
Option 2. isMatched(string: String) -> Bool
我更喜欢自己将其命名为 matches
,但我的团队成员希望将其命名为 isMatched
。
来自Swift API Design Guidelines
Uses of Boolean methods and properties should read as assertions about the receiver when the use is nonmutating, e.g.
x.isEmpty
,line1.intersects(line2)
.
所以他们都是正确的。基金会也同时使用两者:例如
12.isMultiple(of: 2)
[12].contains(2)
// and more e.g.
"accept".hasPrefix("a")
唯一重要的是正确阅读。