openrewrite / openrewrite/rewrite-static-analysis
RenameLocalVariablesToCamelCase should keep constant names
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 62
- Forks
- 112
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 40
Description
What problem are you trying to solve?
I would like to fix the case of variables, but keep constants.
- String javafx_version = System.getProperty("javafx.runtime.version", BuildInfo.UNKNOWN_VERSION).toLowerCase(Locale.ROOT);
+ String javafxVersion = System.getProperty("javafx.runtime.version", BuildInfo.UNKNOWN_VERSION).toLowerCase(Locale.ROOT);
- final String V3_6_DEFAULT_BIBTEX_KEYPATTERN = "defaultBibtexKeyPattern";
+ final String v36DefaultBibtexKeypattern = "defaultBibtexKeyPattern";
Full diff at https://github.com/JabRef/jabref/pull/10009/files.
Describe the solution you'd like
We declare "constants" also in methods. Thus, if all a variable is declared final (and maybe is all uppercase, too), the casing should kept
- String javafx_version = System.getProperty("javafx.runtime.version", BuildInfo.UNKNOWN_VERSION).toLowerCase(Locale.ROOT);
+ String javafxVersion = System.getProperty("javafx.runtime.version", BuildInfo.UNKNOWN_VERSION).toLowerCase(Locale.ROOT);
final String V3_6_DEFAULT_BIBTEX_KEYPATTERN = "defaultBibtexKeyPattern";
Additional context
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the RenameLocalVariablesToCamelCase recipe and read its rule documentation, then inspect how it identifies local variables declared final. Compare the behavior with the examples in the issue and the referenced pull request; done means ordinary local variables are converted while constant names remain unchanged.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100