gpt4 book ai didi

swift - 如何防止 future 的开发人员滥用 `switch` `default` 子句?

转载 作者:行者123 更新时间:2023-11-30 12:40:30 25 4
gpt4 key购买 nike

我正在编写一个类,让用户可以选择在从我们的应用程序发送电子邮件时使用哪个电子邮件应用程序。

我正在尝试执行以下操作,但收到警告,因为我指定了默认值default 之所以存在,是因为我想阻止 future 的开发人员使用默认值,而不是为他们添加的任何客户端添加案例。

private enum EmailApp {
case appleMail
case gmail
case outlook

typealias EmailAppConfiguration = (title: String, scheme: String?, path: String?)

var configuration: EmailAppConfiguration {
switch self {
case .appleMail:
return ("Apple Mail", nil, nil)
case .gmail:
return ("Gmail", "googlegmail://", "co")
case .outlook:
return ("MS Outlook", "ms-outlook://", "compose")
default:
preconditionFailure("Unhandled email client. DO NOT use the default. Explicitly define the configuration when you add a new app.")
}
}
}

我不喜欢这个警告。我可以在开关之前放置一个守卫来执行前提条件失败,但它也很难看。你会做什么?

最佳答案

抛出错误或更改默认值?不要提供您不希望人们使用的功能

关于swift - 如何防止 future 的开发人员滥用 `switch` `default` 子句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42288503/

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