mcpField
D
dart-logic-patterns

dart-logic-patterns

github.com/dhruvanbhalara开发30247 次安装8 周前更新
代码仓库

关于 dart-logic-patterns

面向 Dart 开发的编码技能,涵盖算法效率与可复用的业务逻辑模式。内容包括数据结构、搜索与排序,以及如何让逻辑易于测试并保持响应。

主要功能

  1. 01复杂度与数据结构指引
  2. 02防抖、节流与记忆化
  3. 03Dart 3 模式匹配
  4. 04搜索与排序方法
  5. 05纯函数与验证逻辑组织

适用场景

  1. 01为频繁查找选择数据结构
  2. 02减少交互功能中的重复计算
  3. 03让验证逻辑可跨界面复用

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/dhruvanbhalara/skills --skill dart-logic-patterns

安装后在 Claude Code 中输入/dart-logic-patterns确认已加载。

详细介绍

算法与逻辑

业务逻辑的效率会直接影响电池续航和响应速度。

复杂度分析

  • Big O 意识:了解操作的成本。对于大于几百项的数据集,避免在主线程上执行 O(n²) 或更高复杂度的操作。
  • 数据结构选择:
    • Map:按键快速查找。
    • Set:快速管理唯一项。
    • List:快速索引和顺序访问。
    • LinkedHashSet/Map:保留插入顺序,同时支持快速查找。

逻辑模式

  • 防抖:等用户停止交互后再执行(例如,输入时搜索)。
  • 节流:限制每个时间间隔内最多执行一次(例如,滚动事件)。
  • 记忆化:根据参数缓存开销较大的纯函数的结果。使用 package:memoize 或自定义实现。
  • 模式匹配(Dart 3+):使用 switch 表达式和穷尽式模式匹配来控制流程,避免深层嵌套的 if-else 链。这是编写清晰 Dart 逻辑的核心部分。

搜索与排序

  • 二分查找:用于已排序的列表,将 O(n) 搜索转换为 O(log n)。
  • 高效排序:使用 Dart 内置的 list.sort(),它采用了高度优化的算法。为自定义对象提供针对性的 Comparable 实现。

业务逻辑组织

  • 纯函数:将业务逻辑放在 UI 类之外的纯函数中,确保其可测试。
  • 快速失败:使用守卫语句及早处理边缘情况和无效状态。
  • 验证逻辑:将复杂的验证放在独立的领域层中,以便在不同屏幕间复用。

评论

支持 Markdown