Token导航 LogoToken导航TokenDH.com
前端设计需要联网github未标认证来源可访问许可证需确认审计通过

refactor-javarefactor Java 测试

Agent Skill

用于辅助 Java 项目开发、面向对象设计、Spring 生态、Maven 或 Gradle 依赖和后端工程实践。它适合让 Agent 分析类结构、设计接口、整理服务分层、生成测试或检查常见代码坏味道。使用时需要结合项目已有架构、包结构和依赖版本,不应只按通用教程改代码;涉及数据库、事务、并发或框架配置时,应先确认运行环境和回归测试范围。

总安装

261

周安装

11

GitHub Stars

公开资料未说明

下载量

92
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:refactor-java(refactor Java 测试)
来源仓库:https://github.com/andresnator/agents-orchestrator
仓库路径:skills/refactor-java
安装命令:
npx skills add https://github.com/andresnator/agents-orchestrator --skill refactor-java
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/andresnator/agents-orchestrator --skill refactor-java

简介

用于辅助 Java 后端项目开发和服务架构设计。

  • 适合分析类结构、接口定义或优化服务分层。
  • 需结合 Spring 生态和项目依赖版本进行适配。
  • 安装方式:通过 npx 从指定 GitHub 仓库添加技能。
  • 涉及并发或事务处理时应先确认运行环境。refactor-java 属于前端设计类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Java Refactoring Catalog Skill

A comprehensive, technique-by-technique catalog of refactoring best practices for Java, sourced from Martin Fowler's *Refactoring: Improving the Design of Existing Code* (2nd Edition) and Alexander Shvets' *Refactoring in Java* (Refactoring Guru).

Core Philosophy

Refactoring is the process of changing the internal structure of code without altering its observable behavior. It is a disciplined technique, not a random cleanup. The golden rule is: Cover → Modify → Refactor (always have tests before you start).

How to Use This Skill

  1. Diagnose first: Identify the code smell (see techniques/00-code-smells-diagnostic.md)
  2. Select technique: Each smell maps to one or more refactoring techniques
  3. Read the technique file: Each technique has its own markdown file in techniques/ with problem description, motivation, step-by-step mechanics, and Java 8 + Java 11 examples
  4. Apply incrementally: Small steps, test after each change, commit frequently

Technique Categories

The techniques are organized in 7 groups. Each technique has its own file in the techniques/ directory.

Group 1: Composing Methods (techniques/01-XX)

Techniques for building clean, well-structured methods. The foundation of all refactoring.

  • 01-extract-method.md — Extract a code fragment into a named method
  • 02-inline-method.md — Replace a method call with the method body
  • 03-extract-variable.md — Give a name to a complex expression
  • 04-inline-variable.md — Remove a variable that adds no clarity
  • 05-replace-temp-with-query.md — Replace temp variables with method calls
  • 06-replace-method-with-method-object.md — Turn a complex method into its own class
  • 07-substitute-algorithm.md — Replace an algorithm with a clearer version

Group 2: Moving Features (techniques/02-XX)

Techniques for placing code where it truly belongs.

  • 08-move-method.md — Move a method to where it has more cohesion
  • 09-move-field.md — Move a field to the class that uses it most
  • 10-extract-class.md — Split a class with multiple responsibilities
  • 11-inline-class.md — Merge a class that does too little
  • 12-hide-delegate.md — Encapsulate chain navigation behind a simpler interface
  • 13-remove-middle-man.md — Remove unnecessary delegation
  • 14-move-statements.md — Move statements into/out of functions, slide statements
  • 15-split-loop.md — Separate a loop that does multiple things
  • 16-replace-loop-with-pipeline.md — Use Stream API instead of imperative loops
  • 17-remove-dead-code.md — Delete unused code

Group 3: Organizing Data (techniques/03-XX)

Techniques for enriching data with behavior and protecting internal state.

  • 18-encapsulate-variable.md — Wrap data access with getters/setters
  • 19-encapsulate-record.md — Convert data structures into objects
  • 20-encapsulate-collection.md — Protect collections from external mutation
  • 21-replace-primitive-with-object.md — Create domain types instead of using raw primitives
  • 22-split-variable.md — Give each purpose its own variable
  • 23-rename-field.md — Improve field names for clarity
  • 24-replace-derived-variable-with-query.md — Calculate values on demand
  • 25-change-reference-to-value.md — Make objects immutable (Value Objects)
  • 26-change-value-to-reference.md — Share a single instance across consumers
  • 27-replace-type-code-with-subclasses.md — Convert type codes to polymorphic hierarchy

Group 4: Simplifying Conditionals (techniques/04-XX)

Techniques for taming conditional complexity.

  • 28-decompose-conditional.md — Name condition and branches
  • 29-consolidate-conditional.md — Merge related conditions
  • 30-replace-nested-conditional-with-guard-clauses.md — Early returns for special cases
  • 31-replace-conditional-with-polymorphism.md — Use OOP instead of switch/if-type
  • 32-introduce-special-case.md — Null Object pattern for default behavior
  • 33-introduce-assertion.md — Document invariants with executable assertions
  • 34-replace-control-flag.md — Replace boolean flags with break/return

Group 5: Simplifying Method Calls / API Design (techniques/05-XX)

Techniques for building self-documenting interfaces.

  • 35-change-function-declaration.md — Rename functions and change parameters
  • 36-introduce-parameter-object.md — Group related parameters into an object
  • 37-parameterize-function.md — Unify similar functions with a parameter
  • 38-remove-flag-argument.md — Replace boolean params with named methods
  • 39-preserve-whole-object.md — Pass the object instead of extracted values
  • 40-replace-parameter-with-query.md — Let the function calculate what it needs
  • 41-replace-query-with-parameter.md — Pass value as param for purity/testability
  • 42-remove-setting-method.md — Make properties read-only
  • 43-replace-constructor-with-factory.md — Use factory methods for flexible creation
  • 44-replace-function-with-command.md — Encapsulate function as object
  • 45-separate-query-from-modifier.md — CQS: separate reads from writes

Group 6: Dealing with Inheritance (techniques/06-XX)

Techniques for refactoring class hierarchies.

  • 46-pull-up-method.md — Move duplicated methods to superclass
  • 47-push-down-method.md — Move specialized methods to subclass
  • 48-pull-up-constructor-body.md — Unify constructor initialization
  • 49-extract-superclass.md — Create common superclass for shared behavior
  • 50-extract-interface.md — Define a contract without implementation
  • 51-collapse-hierarchy.md — Merge unnecessary hierarchy levels
  • 52-form-template-method.md — Template Method pattern from GoF
  • 53-replace-subclass-with-delegate.md — Composition over inheritance
  • 54-replace-superclass-with-delegate.md — Replace extends with has-a
  • 55-replace-inheritance-with-delegation.md — General inheritance to delegation

Group 7: Additional Techniques (techniques/07-XX)

Cross-cutting techniques from both sources.

  • 56-combine-functions-into-class.md — Group functions that share data
  • 57-combine-functions-into-transform.md — Enrich read-only data
  • 58-split-phase.md — Separate code into processing phases
  • 59-introduce-foreign-method.md — Extend third-party classes you can't modify
  • 60-introduce-local-extension.md — Subclass or wrapper for library extension
  • 61-replace-error-code-with-exception.md — Modernize error handling
  • 62-replace-exception-with-test.md — Don't use exceptions for control flow

Diagnostic Guide

Start with techniques/00-code-smells-diagnostic.md to identify which techniques apply to your code. The diagnostic maps 24 code smells to their recommended refactoring techniques.

Applying the Skill

When given Java code to refactor:

  1. Read techniques/00-code-smells-diagnostic.md to identify the smells present
  2. For each identified smell, read the corresponding technique file(s)
  3. Apply techniques in small steps, always testing between changes
  4. Provide both Java 8 and Java 11 versions when the language features differ meaningfully
  5. Explain WHY each refactoring improves the code, not just HOW to do it

Key Principles

These principles underpin every technique in the catalog:

  1. Names matter more than length — a well-named 1-line method is better than an inline expression
  2. Small steps — extract small fragments, test, commit. Never batch multiple changes
  3. Intention over implementation — code should communicate WHAT, not HOW
  4. Data and logic that change together should live together — cohesion is king
  5. Prefer composition over inheritance — delegation is more flexible than extends
  6. Immutability is a powerful preservative — immutable data is easier to reason about
  7. CQS (Command-Query Separation) — a method either returns a value or modifies state, never both

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.45%
按下载量换算33

Claude

28.9%
按下载量换算27

Cursor

20.81%
按下载量换算19

Gemini CLI

9.47%
按下载量换算9

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills