## Summary
Added Java code optimization demonstration project to
`cli/code-to-optimize/`
- Set up Gradle build system with dual JUnit support (JUnit 4 and JUnit
5)
- Created three classes with common optimization opportunities:
- **StringProcessor**: String concatenation and manipulation
inefficiencies
- **CollectionProcessor**: Collection operations with performance issues
- **DataCalculator**: Algorithm optimization opportunities
- Added comprehensive test suite with 20+ tests
- All tests passing with `./gradlew test`
## Code Optimization Opportunities
### StringProcessor
- String concatenation in loops (O(n²) → O(n) with StringBuilder)
- Multiple intermediate String objects
- Repeated substring operations
### CollectionProcessor
- ArrayList.contains() lookups (O(n²) → O(n) with HashSet)
- Multiple collection passes (can be single pass)
- Inefficient recursive implementations
### DataCalculator
- Fibonacci without memoization (O(2ⁿ) → O(n) with DP)
- Prime checking inefficiency (O(n) → O(√n))
- Simple power modulo (can use fast exponentiation)
## Project Structure
```
cli/code-to-optimize/
├── build.gradle (JUnit 4 & 5 configured)
├── settings.gradle
├── README.md
├── gradlew (executable)
├── gradle/wrapper/
└── src/
├── main/java/com/example/optimization/
│ ├── StringProcessor.java
│ ├── CollectionProcessor.java
│ └── DataCalculator.java
└── test/java/com/example/optimization/
├── StringProcessorTest.java (JUnit 5)
├── CollectionProcessorTest.java (JUnit 4)
└── DataCalculatorTest.java (JUnit 5)
```
## Test Coverage
- JUnit 5 tests for StringProcessor and DataCalculator (with
parameterized tests)
- JUnit 4 tests for CollectionProcessor
- Both frameworks working together via JUnit Vintage Engine
- 20+ test cases covering all optimization scenarios
## Running Tests
```bash
cd cli/code-to-optimize
./gradlew test # Run all tests
./gradlew build # Build the project
```
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Ubuntu <ubuntu@ip-172-31-39-200.ec2.internal>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| gradle/wrapper | ||
| src | ||
| build.gradle | ||
| gradlew | ||
| settings.gradle | ||