gpt4 book ai didi

"duplicate"属性名称的 kotlin 命名约定?

转载 作者:行者123 更新时间:2023-12-02 12:38:21 27 4
gpt4 key购买 nike

当然,它们并不是真正的重复,我只是不知道如何简短地描述这个概念。这是关于属性 getter ,它们仅用于公开另一个隐藏其访问权限的属性的转换。在这里,让我用一段代码解释一下:

class MyClass {
internal val _children = mutableListOf<MyClass>()
val children: List<MyClass> get() { return _children.toList() }
}

child 在内部是可修改的,也应该暴露给外部世界,但他们不应该能够修改列表。我认为这是一个可以理解的情况。

我直观地选择了在 Angular (typescript) 和 c# 中遇到的 _name 约定,这在类似情况下似乎很常用。
但是 intellij 提示说,按照惯例,所有属性名称都应该以小写字母开头。

在 Kotlin 中这种事情是否还有另一种命名约定,或者 IDE 根本看不到我正在尝试做的事情(这不足为奇),我应该忽略它?

最佳答案

是的,编码约定建议
在私有(private)后备属性名称前加上下划线,就像使用 _children 一样:

Names for backing properties

If a class has two properties which are conceptually the same but one is part of a public API and another is an implementation detail, use an underscore as the prefix for the name of the private property:

class C {
private val _elementList = mutableListOf<Element>()

val elementList: List<Element>
get() = _elementList
}

Property names

关于 "duplicate"属性名称的 kotlin 命名约定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56913092/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com