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,
}