【发布时间】:2015-09-19 22:24:27
【问题描述】:
在 swift 中创建函数或变量时,我总是遇到这个问题。考虑以下实现:
变量
var isOpen: Bool
{
// expression returning either true or false
}
var subTotal: Double
{
return quantity * price
}
功能
func isOpen() -> Bool
{
// expression returning either true or false
}
func subTotal() -> Double
{
return quantity * price
}
这方面的最佳做法是什么?
【问题讨论】:
-
最佳实践自然是使用函数作为函数,计算属性作为属性。
-
这真的是一个品味问题,所以这可能应该主要基于意见而关闭。但我的看法是:如果值很容易成为给定不同实现的成员变量,或者如果计算很简单(理想情况下是恒定时间,尽管
String.uppercaseString是一个反例),则将其设为 var,否则将其设为函数.