#泛型 #节点 #分类法

kodiak-taxonomy

一个管理泛型分类法的库,支持独特功能

2 个不稳定版本

0.2.0 2022年11月15日
0.1.0 2022年11月6日

#1692 in 数据结构

MIT/Apache

140KB
2K SLoC

kodiak-taxonomy

GitHub Top Language Static unsafe crates.io License GitHub License

GitHub Latest Release GitHub Commits

Code Coverage GitHub Build Status Static docs coverage docs.rs Libraries.io Dep Status

GitHub Security Schedule GitHub Security Push

GitHub Open Issues GitHub Closed Issues

crates.io Latest crates.io Recent

用这个强大且易于使用的分类法来整理事物。

这个库是科迪亚克项目的基础,因此命名为crate。虽然科迪亚克对分类法有一些相当具体的要求,但kodiak-taxonomy仍然是通用的,具有自身价值,也可能对其他项目感兴趣。

分类法[^维基百科]是一种按类型组织事物的分类方案。通常,分类法提供严格的层次组织,提供树状结构。然而,在实践中,这样的分类法限制了我们对复杂现实的建模能力。

当你寻找一个能够克服这种限制的强大分类法时,kodiak-taxonomy可能非常适合你。所以,请随意使用它。如果你考虑在你的项目中使用kodiak-taxonomy但缺少功能或有任何其他担忧,请不要犹豫,在GitHub上提交问题。

我们期待您的反馈。


你可能还在寻找


感受

待办:展示kodiak-taxonomy支持的两种分类法示例

在EXAMPLES.md中提供额外的示例,并将其链接。

TL;DR

科迪亚克对其分类法的具体要求

  • 一个元素可以有多个上级行为
  • 分类法的顶部允许多个元素,即用户可以自由创建多个根节点
  • 元素可以由任意元数据补充(尚未实现)
  • 边(一个超元素和它的子元素的元组)可以由任意属性补充(尚未实现)

已知问题/限制

  • 🏗️ 版本 0.1.0 尚未支持其他项目,因此API尚未在实践中证明其力量。
  • 🚧 代码完全由单元测试覆盖,但是,一些集成测试仍然缺失,文档还有改进的空间。
  • 尚未考虑Rust API指南。
  • 🐧 版本 0.1.x 仅在Linux上开发和测试。

路线图和未来考虑

版本 0.7.0(计划中)

  • 将公共函数的性能考虑纳入文档。

版本 0.6.0(计划中)

  • 实现Iterator trait。
  • 为Node实现Display trait。

版本 0.5.0(计划中)

  • 实现Serde的Serialize和Deserialize。

版本 0.4.0(计划中)

  • 在Node和Edge级别添加对任意元数据和属性的支持。

版本 0.3.0(进行中)

  • 重新思考API:将Taxonomy实现为一个围绕std::collections::HashMap的轻量级包装,并移除TaxonomyError(参见CHECKLIST_RUST_API_CONFORMANCE
  • 改进文档(参见CHECKLIST_RUST_API_CONFORMANCE
  • 与任何未来版本一起发布软件物料清单(SBOM)。
  • 使用Tarpaulin的LLVM引擎检查代码覆盖率。

版本0.2.0(已交付)

  • 审查并遵循Rust API指南。
  • 改进文档:例如,遵守Rust API指南中的C-LINK。
  • 使用tarpaulin测量并添加到GitHub项目的完整代码覆盖率,包含测试
  • 切换到#![forbid(unsafe_code)]

版本0.1.0(已交付)

  • 初始版本。

附加资源

贡献

有关更多详细信息,请参阅CONTRIBUTING

附录

Cargo Geiger 安全报告


Metric output format: x/y
    x = unsafe code used by the build
    y = total unsafe code found in the crate

Symbols: 
    🔒  = No `unsafe` usage found, declares #![forbid(unsafe_code)]= No `unsafe` usage found, missing #![forbid(unsafe_code)]
    ☢️  = `unsafe` usage found

Functions  Expressions  Impls  Traits  Methods  Dependency

0/0        0/0          0/0    0/0     0/0      🔒  kodiak-taxonomy 0.2.0

0/0        0/0          0/0    0/0     0/0    

许可证

根据您的选择,许可方式为以下之一

无运行时依赖