因特征滥用而使用rust ?

标签 rust traits

假设我有一个 对象 我要创建的结构来自 配置 struct,这似乎是合理的——这是从一种结构类型到另一种结构类型的转换。
那么假设我要创建后者配置结构来自 Path ?
trait 实现的含义,以 Path 作为参数,打开 YAML 文件,解析它,并返回 配置结构。
这将是多少滥用,或者这是一件完全正常且可以接受的事情?
我肯定在 oss 代码中看到了第一个特征的使用案例,但没有看到后一个。

最佳答案

Meaning from trait implementation taking Path as the parameter, opening yaml file, parsing it, and returning config struct.

How much of an abuse will that be, or will it be completely normal and acceptable thing to do?


这是一个严重的滥用:
  • 整个过程充满了失败点,但是 From是不可失败的。
  • FromTryFrom两者都是为转换而设计的。您的用例与转换无关,您不能将其称为将路径转换为配置对象而不使该术语完全没有意义。

  • 从根本上说……这真的没有意义吗? From的点/TryFrom是作为通用边界,例如一个函数可以接受任何可以转换为/从它知道的具体类型转换的东西。 Into<Config> 有多大用处?一定会吗?我猜“不是很”。

    关于因特征滥用而使用rust ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66471244/

    相关文章:

    rust - 如何将参数传递给存储的回调?

    rust - 与借阅检查员搏斗

    rust - Trait 对象的方法,它接受多种数字类型

    python - 在特征名称后面加上@有什么作用?

    reference - 在 Rust 中传递内存地址

    generics - 此语法是什么意思 (<T=Self>) 以及何时使用它?

    php - PHP 中的特征是否受 namespace 影响?

    rust - 如何将 Multipart::from_request 与 tiny_http::Request 一起使用?

    python - 带有文件对话框的样式表

    rust - 打印!打印 2 位整数