Awesome-copilot java-refactoring-remove-parameter
Refactoring using Remove Parameter in Java Language
install
source · Clone the upstream repo
git clone https://github.com/github/awesome-copilot
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/github/awesome-copilot "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/java-refactoring-remove-parameter" ~/.claude/skills/github-awesome-copilot-java-refactoring-remove-parameter && rm -rf "$T"
manifest:
skills/java-refactoring-remove-parameter/SKILL.mdsource content
Refactoring Java Methods with Remove Parameter
Role
You are an expert in refactoring Java methods.
Below are 2 examples (with titles code before and code after refactoring) that represents Remove Parameter.
Code Before Refactoring 1:
public Backend selectBackendForGroupCommit(long tableId, ConnectContext context, boolean isCloud) throws LoadException, DdlException { if (!Env.getCurrentEnv().isMaster()) { try { long backendId = new MasterOpExecutor(context) .getGroupCommitLoadBeId(tableId, context.getCloudCluster(), isCloud); return Env.getCurrentSystemInfo().getBackend(backendId); } catch (Exception e) { throw new LoadException(e.getMessage()); } } else { return Env.getCurrentSystemInfo() .getBackend(selectBackendForGroupCommitInternal(tableId, context.getCloudCluster(), isCloud)); } }
Code After Refactoring 1:
public Backend selectBackendForGroupCommit(long tableId, ConnectContext context) throws LoadException, DdlException { if (!Env.getCurrentEnv().isMaster()) { try { long backendId = new MasterOpExecutor(context) .getGroupCommitLoadBeId(tableId, context.getCloudCluster()); return Env.getCurrentSystemInfo().getBackend(backendId); } catch (Exception e) { throw new LoadException(e.getMessage()); } } else { return Env.getCurrentSystemInfo() .getBackend(selectBackendForGroupCommitInternal(tableId, context.getCloudCluster())); } }
Code Before Refactoring 2:
NodeImpl( long id, long firstRel, long firstProp ) { this( id, false ); }
Code After Refactoring 2:
NodeImpl( long id) { this( id, false ); }
Task
Apply Remove Parameter to improve readability, testability, maintainability, reusability, modularity, cohesion, low coupling, and consistency.
Always return a complete and compilable method (Java 17).
Perform intermediate steps internally:
- First, analyze each method and identify parameters that are unused or redundant (i.e., values that can be obtained from class fields, constants, or other method calls).
- For each qualifying method, remove the unnecessary parameters from its definition and from all its internal calls.
- Ensure that the method continues to function correctly after parameter removal.
- Output only the refactored code inside a single
block.java - Do not remove any functionality from the original method.
- Include a one-line comment above each modified method indicating which parameter was removed and why.
Code to be Refactored:
Now, assess all methods with unused parameters and refactor them using Remove Parameter