#类型 #安全性 #实用工具

doublysure

使用类型来确保你确实、肯定、双倍确定

1 个不稳定版本

0.1.0 2020年7月20日

#2994Rust 模式

MIT 许可证

9KB
109

DoublySure

使用类型来确保你确实、肯定、双倍确定

开发状态:alpha

描述

用户会收到提示,以确保他们想要执行破坏性操作,开发者为什么不应该呢?Rust 充满了安全和安全的考虑,保护代码免受自身的影响。但是,关于保护代码免受我们这些编写代码的开发者的影响呢?破坏性和昂贵的操作通常只是 .delete() 之遥。

DoublySure 希望通过提供一个单一的类型 AreYouSure 和一个宏 make_sure 来转换数据和函数到它。 make_sure 还将延迟函数调用,以便 .delete() 不会立即被调用。

当你遇到一个 AreYouSure 实例时,你可以调用 .yes_i_am_sure(),这将返回内部值或运行延迟的函数调用,或者你可以说 .no_i_am_not_sure(),这将丢弃数据而不调用延迟的函数。

用例

在可能执行危险操作且对此几乎没有阻力的情况下,双保险存在是为了让程序员停下来思考“这是否是我想要做的?”,并提供程序性的第二次机会来说不。

也请勿滥用此 crate 提供的函数调用延迟机制。那只会让我们两个都感到悲伤。

替代方案

  • Rust 内置的 ResultOption 类型。
  • 延迟执行的未来

待办事项

  • 调查使用 Futures 作为延迟执行的方式。

无运行时依赖