审查生成的账户标签扩展

来自 扩展
Kotlin 2.4.10 高级 6分钟 找出 4处问题

在这个生成的账户标签扩展用于整个应用前审查它。

为可空账户返回纯函数式、非空白的安全标签,默认值为 anonymous,避免成员名称冲突,并且绝不暴露令牌。

kotlin
data class Account(
    val name: String?,
    val token: String,
) {
    fun displayName(): String = name ?: "anonymous"
}

private val labelCache = mutableMapOf<Account, String>()

fun Account.displayName(): String = "Account($name)"

val Account?.safeLabel: String
    get() {
        if (this == null) return "anonymous"
        return labelCache.getOrPut(this) {
            if (name == null) toString() else name.trim()
        }
    }

fun main() {
    val account = Account(null, "token-123")
    println(account.safeLabel)
}

生成代码仅作示例,不代表任何特定模型

在试验场中打开
报告错误