tgrk/humanids

GitHub: tgrk/humanids

一个 Elixir 库,通过随机单词与数字组合生成易于阅读和朗读的人类可读 ID。

Stars: 2 | Forks: 0

# HumanIDs [![Hex pm](https://img.shields.io/hexpm/v/humanids.svg?style=flat)](https://hex.pm/packages/humanids) [![Hex 文档](https://img.shields.io/badge/hex-docs-lightgreen.svg)](https://hexdocs.pm/humanids/) [![构建状态](https://static.pigsec.cn/wp-content/uploads/repos/cas/d5/d51659522a2b3e8fbddc016406cd56a9823dcab62702a960341b001deba822c8.svg)](https://github.com/tgrk/humanids/actions/workflows/elixir.yaml) [![覆盖率状态](https://coveralls.io/repos/github/tgrk/humanids/badge.svg)](https://coveralls.io/github/tgrk/humanids) [![许可证](https://img.shields.io/hexpm/l/humanids.svg)](LICENSE) HumanIDs 是一个小巧的 Elixir 库,用于通过随机单词加上数字后缀来生成人类可读的 ID。与难以辨认的标识符相比,其输出更易于阅读、朗读和分享。 示例: - `nimble-otters-42` - `curious-foxes-7` - `jazzy-platypuses-100` 这些 ID 是对人类友好的,并不具备安全性。请勿将其作为您的主要数据库键或对安全性敏感的 token 使用。 ## 安装说明 在 `mix.exs` 中将 `humanids` 添加到您的依赖项: ``` def deps do [ {:humanids, "~> 0.2.0"} ] end ``` 然后使用以下命令拉取依赖项: ``` mix deps.get ``` ## 用法 生成默认的三段式 ID: ``` iex> HumanIDs.generate() "nimble-otters-42" ``` 使用 `:segments` 增加总段数: ``` iex> HumanIDs.generate(segments: 4) "curious-gazelles-dragons-7" ``` 默认情况下,HumanIDs 会从内置的形容词和名词列表中提取随机单词进行组合,然后追加一个从 `1` 到 `100` 的数字。 ## 开发 安装依赖项: ``` mix deps.get ``` 运行测试套件: ``` mix test ``` 格式化代码、检查覆盖率并运行静态分析: ``` mix format mix coveralls mix dialyzer ``` CI 还会强制要求编译时无任何警告且代码已格式化: ``` mix compile --warnings-as-errors mix format --check-formatted ``` ## 基准测试 该仓库在 [`benchmark/default.exs`](benchmark/default.exs) 中包含了一个 Benchee 基准测试。使用以下命令运行它: ``` mix run benchmark/default.exs ``` ## 许可证 在 Apache 2.0 许可证下发布。参见 [LICENSE](LICENSE)。
标签:Elixir, ID生成器, SOC Prime, 开发工具, 开发库