审查生成的通知服务

来自 面向对象编程
Kotlin 2.4.10 高级 6分钟 找出 5处问题

在这段生成的通知服务处理多个租户前审查它。

使用注入的投递客户端,为每个服务实例维护私有的成功发送计数,拒绝格式错误的地址,并且绝不泄露 API 令牌。

kotlin
open class EmailClient {
    fun deliver(address: String, body: String): Boolean =
        address.contains("@") && body.isNotBlank()
}

open class NotificationService(val apiToken: String) {
    companion object {
        val history = mutableListOf<String>()
    }

    var sent = 0

    fun send(address: String, body: String): Boolean {
        println("using token=$apiToken")
        val delivered = EmailClient().deliver(address, body)
        history += "$address:$delivered"
        if (delivered) sent++
        return delivered
    }
}

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

在试验场中打开
报告错误