其他
编写或优化 Lua 代码时:规范表/元表、错误处理、性能…
适用于编写、重构或优化 Lua 代码,尤其涉及表、元表、错误处理、性能、内存管理和 Love2D/Corona 等游戏开发时。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 49/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
编写或优化 Lua 代码时:规范表/元表通用
解决思路
- 编写清晰、简洁且符合 Lua 惯用模式的代码。
- 在保持代码清晰的前提下,利用 Lua 的动态类型特性。
- 优先考虑模块化和代码可复用性。
- 在所有代码贡献中关注最终用户体验。
- 尽量使用局部变量以提升性能。
- 有效利用表(tables)作为数据结构。
- 通过 pcall/xpcall 函数实现错误处理。
- 适当使用元表(metatables)和元方法(metamethods)。
- 始终遵循 Lua 的 1-based 索引。
- 变量和函数使用 snake_case。
- 类/模块使用 PascalCase。
- 常量使用 UPPERCASE。
- 私有函数/变量使用下划线前缀。
- 将相关函数组织到模块中。
- 模块私有代码使用局部函数(local functions)。
- 用注释将代码组织成逻辑区块。
- 保持文件专注且易于管理。
- 使用 require() 管理依赖。
- 使用 pcall/xpcall 进行保护调用。
- 显式处理 nil 值。
- 使用 assert() 检查前置条件。
- 提供信息丰富的错误消息。
- 实现正确的错误传播。
- 优先使用局部变量而非全局变量。
- 缓存频繁访问的值。
- 尽量减少循环中创建表。
- 在已知大小时预分配表。
- 尽可能复用表。
- 在合适时使用弱表(weak tables)进行缓存。
- 注意循环中创建表的问题。
- 尽可能复用表。
- 在合适时使用弱表(weak tables)进行缓存。
- 在长时间运行的应用中监控内存使用。
- 使用元表实现面向对象模式。
- 实现 __index 用于继承。
- 使用 __newindex 进行属性验证。
- 适当利用元方法。
- 实现正确的游戏循环结构。
- 优化碰撞检测效率。
- 有效管理游戏状态。
- 高效处理输入。
- 与游戏引擎(Love2D、Corona 等)正确集成。
- 为关键函数编写单元测试。
- 记录函数参数和返回值。
- 为公共接口包含用法示例。