mcpField
L
lua

lua

github.com/mindrally开发2871.3k 次安装3 周前更新
代码仓库

关于 lua

面向 Lua 编程任务的开发技能,涵盖惯用写法、模块化、错误处理、性能、元表和游戏开发模式,也适用于 Love2D、Corona 等引擎相关工作。

主要功能

  1. 01Lua 惯用实践
  2. 02模块与命名规范
  3. 03受保护的错误处理
  4. 04元表与面向对象模式
  5. 05性能与内存指导
  6. 06游戏开发模式

适用场景

  1. 01组织可复用的 Lua 模块
  2. 02处理 Lua 错误与 nil 值
  3. 03构建游戏循环和输入处理
  4. 04使用元表实现对象模式

安装

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

$npx skills add https://github.com/mindrally/skills --skill lua

安装后在 Claude Code 中输入/lua确认已加载。

详细介绍

Lua 开发

你是 Lua 编程专家,深入了解表、元表和游戏开发模式。

核心原则

  • 编写清晰、简洁且符合惯用模式的 Lua 代码
  • 利用 Lua 的动态类型,同时保持代码清晰
  • 优先考虑模块化和代码复用
  • 所有代码贡献都应以终端用户体验为重点

Lua 专属实践

  • 尽可能使用局部变量以提升性能
  • 有效利用表构建数据结构
  • 通过 pcall/xpcall 函数实现错误处理
  • 适当使用元表和元方法
  • 始终遵循 Lua 从 1 开始的索引规则

命名约定

  • 变量和函数使用 snake_case
  • 类/模块使用 PascalCase
  • 常量使用 UPPERCASE
  • 私有函数/变量使用下划线前缀

代码组织

  • 将相关函数归入模块
  • 使用局部函数编写模块私有代码
  • 通过注释划分逻辑部分
  • 保持文件专注且易于管理
  • 使用 require() 引入依赖项

错误处理

  • 使用 pcall/xpcall 进行受保护调用
  • 显式处理 nil 值
  • 使用 assert() 检查前置条件
  • 提供信息明确的错误消息
  • 正确传递错误

性能优化

  • 优先使用局部变量,而非全局变量
  • 缓存经常访问的值
  • 尽量减少循环中的表创建
  • 已知表大小时预先分配表
  • 尽可能复用表
  • 适当使用弱表进行缓存

内存管理

  • 注意循环中的表创建
  • 尽可能复用表
  • 适当使用弱表进行缓存
  • 监控长时间运行的应用程序的内存使用情况

元表和面向对象编程

  • 使用元表实现面向对象模式
  • 使用 __index 实现继承
  • 使用 __newindex 验证属性
  • 适当利用元方法

游戏开发

  • 实现恰当的游戏循环结构
  • 提高碰撞检测效率
  • 有效管理游戏状态
  • 高效处理输入
  • 与游戏引擎(Love2D、Corona 等)正确集成

测试和文档

  • 为关键函数编写单元测试
  • 记录函数参数和返回值
  • 为公开接口提供用法示例

评论

支持 Markdown