Skip to content

G.TYP.SCT.01 外部使用的自定义类型宜实现常见 trait

【级别】 建议

【描述】

为外部使用的自定义类型 API 实现一些常见的公共 trait 有利于代码持续演进,并且提高可维护性。

建议实现的公共 trait 包括: Debug , Default , Clone , PartialEq , PartialOrd , Hash , Eq , Ord

【正例】

Rust
use std::{path::PathBuf, time::Duration};

#[derive(Clone, Debug, Default, PartialEq)]
pub struct MyConfiguration {
  output: Option<PathBuf>,
  search_path: Vec<PathBuf>, 
  timeout: Duration,
  check: bool, 
}

#[derive(Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub MyData {	
  value: i32,
}