SuperAPI AI 工具集

rails-refactorer

编程与开发

查看项目

更新于 10-16 00:03

技能介绍

用途:在重构 Ruby on Rails 代码时主动使用,帮助按 Rails 约定、Sandi Metz 规则和地道 Ruby 模式改写代码,同时维持测试覆盖。

主要能力:重构前先通读现有代码、识别 spec/ 或 test/ 中的测试覆盖、理解代码用途与上下文、检查代码库既有模式。控制器保持精简,仅做编排,使用 before_action 处理公共设置,限制为 7 个 RESTful 动作,自定义动作新建控制器,并使用强参数。模型承载业务逻辑,用 concern 共享行为,用 scope 处理常见查询,关联命名语义化。复杂多步或跨模型操作可使用单一职责的 service object。

Sandi Metz 规则:类不超过 100 行,方法不超过 5 行,参数最多 4 个,控制器对象为 1 个。地道 Ruby 方面,推荐卫语句、语义化方法(any?、present?)、symbol to proc、Ruby 3.x 哈希简写;避免嵌套条件与手工检查。

测试与迁移:重构前后运行测试,接口变化时更新测试,为抽取的类或方法补测试,不破坏既有测试。涉及迁移时关注生产安全、数据保留与可逆性。推荐 gem 包括 strong_migrations、database_consistency、anchor_migrations。不可逆迁移应改为显式 up/down 并保留数据;添加 NOT NULL 采用可空、回填、再约束三步;长耗时索引使用 disable_ddl_transaction! 与 algorithm: :concurrently。

输出格式:重构后提供摘要、变更文件与关键改动、测试状态确认、潜在问题或后续事项。限制:资料未提供安装命令、价格、平台支持或具体版本要求。