[OSPP] Alconna 2.0 版本设计与开发
RF-Tar-Railt opened this issue · 1 comments
RF-Tar-Railt commented
描述
Alconna 1.x 版本存在诸多设计问题和历史遗留问题,这些问题需要在 2.0 版本中进行集中解决。仓库主分支目前已在2.0-alpha2阶段,清理了部分冗余功能并且提出了一些2.0设计。此项目需要基于 Alconna 1.x 的基础设计进行 2.0 版本的项目设计与开发,并且需要将 Alconna 的上游基础组件库一并进行优化与设计迭代,这将涉及到对文本解析算法、系统架构、文字样式排版、语言底层原理的大量工作。
项目产出要求
-
Alconna 2.0 主体架构
- 全新的或改善过的命令体构造方式,并对开发者友好
- 对模糊匹配、命令补全、消息帮助等功能与解析器/执行器进行解耦合,抽象为可拓展组件最佳
- 优化解析/执行逻辑,使得解析过程是具状态的,状态可复制的,控制流可移交的流程
- 减少代码复杂度、增加可读性
- 命令配置项读取方法更新
- 配套的测试文件更新2. Alconna 基础组件库更新
-
类型验证&类型转换组件库的性能优化,可使用cython或pyo3等方式
-
字符串分割组件的优化,例如使其可识别全角引号、识别自定义特殊符号等
-
更新样式组件库,可提供更多样式
-
Alconna 2.0 外部接口,需要总结 Alconna 1.x 版本现有的外部衍生项目,抽象成统一的对外功能接口,并尽可能提供具体实现
项目技术要求
- 完善的python 基础,熟悉 python 语法特性,掌握装饰器、描述器、生成器等特性用法,了解python底层原理,对性能优化有一定知识
- C语言基础,了解 python 的 C-API 用法,了解 Cython 工作流
- 结构设计能力与抽象能力,能够系统性策划该架构各部分的功能
RF-Tar-Railt commented