3

我目前在我的主应用程序中声明我的属性,如下所示:

public var thingA: String?
private var thingB: String?
private var thingC: String?

我是否应该省略主模块中的“公共”声明,因为没有其他模块需要使用thingA。这样它看起来更像:

var thingA: String?
private var thingB: String?
private var thingC: String?

如果我们在这里省略“public”,它只是意味着如果它在一个框架中,它就不能再从其他地方访问,但是在主应用程序/模块中,这根本不是问题,所以使用 public 不仅没有意义,而且提供比所需更多的访问权限可以说是不好的做法......(也许与编译器相关的低效率??)

什么是商定的标准,因为我似乎无法在文档或 stackoverflow 中找到解决此问题的任何内容?

4

1 回答 1

3

访问控制在这里定义。如果没有定义特定的访问控制,则意味着它将具有internal允许访问同一模块内的该实体的访问控制。默认访问控制也是internal如此,如上面链接中所述,如果您正在开发单个目标应用程序,则可以省略定义特定的访问控制(即,不需要public访问控制)。

但是,我相信您应该始终从private访问控制开始,然后根据需要进行更改。

于 2019-10-16T05:41:20.197 回答