Análisis del commit b16c75a
Assignee: @copilot
Summary
Los tres métodos handler de SecurityDependencyDemoController construyen un LinkedHashMap<String, Object> de respuesta con la misma estructura repetida, lo que constituye una duplicación estructural clara.
Duplication Details
Pattern: Construcción duplicada de mapa de respuesta
-
Severity: Medium
-
Occurrences: 3
-
Locations:
src/main/java/com/example/demo/controller/SecurityDependencyDemoController.java (lines 24-29)
src/main/java/com/example/demo/controller/SecurityDependencyDemoController.java (lines 38-43)
src/main/java/com/example/demo/controller/SecurityDependencyDemoController.java (lines 48-53)
-
Code Sample:
// Repetido 3 veces con variaciones menores:
Map<String, Object> response = new LinkedHashMap<>();
response.put("mode", "...");
response.put("dependency", "...");
response.put("entries/input/resolved", ...);
return response;
Impact Analysis
- Maintainability: Añadir un campo nuevo (ej.
timestamp) obliga a modificar los tres métodos por separado.
- Bug Risk: Un error en la estructura de respuesta podría corregirse solo en algunos métodos, generando inconsistencias.
- Code Bloat: ~15 líneas repetidas en un solo archivo.
Refactoring Recommendations
-
Extraer método helper privado
private Map<String, Object> buildResponse(String mode, String dependency, String key, Object value) {
Map<String, Object> response = new LinkedHashMap<>();
response.put("mode", mode);
response.put("dependency", dependency);
response.put(key, value);
return response;
}
- Estimated effort: 30 min
- Benefits: Un único punto de modificación, respuestas consistentes
-
Usar un record/DTO de respuesta
- Crear
DemoResponse record con campos mode, dependency, data
- Estimated effort: 1h
- Benefits: Tipado fuerte, serialización automática
Implementation Checklist
Analysis Metadata
- Analyzed Files: 6 (controllers, services, models — excluidos test y workflow files)
- Detection Method: Semantic code analysis
- Commit: b16c75a
- Analysis Date: 2026-06-18T13:28:00Z
Generated by Duplicate Code Detector · sonnet46 734.6K · ◷
Add this agentic workflows to your repo
To install this agentic workflow, run
gh aw add githubnext/agentics/workflows/duplicate-code-detector.md@298f992955146a6731d380a9de808e17861708e5
Análisis del commit b16c75a
Assignee:
@copilotSummary
Los tres métodos handler de
SecurityDependencyDemoControllerconstruyen unLinkedHashMap<String, Object>de respuesta con la misma estructura repetida, lo que constituye una duplicación estructural clara.Duplication Details
Pattern: Construcción duplicada de mapa de respuesta
Severity: Medium
Occurrences: 3
Locations:
src/main/java/com/example/demo/controller/SecurityDependencyDemoController.java(lines 24-29)src/main/java/com/example/demo/controller/SecurityDependencyDemoController.java(lines 38-43)src/main/java/com/example/demo/controller/SecurityDependencyDemoController.java(lines 48-53)Code Sample:
Impact Analysis
timestamp) obliga a modificar los tres métodos por separado.Refactoring Recommendations
Extraer método helper privado
Usar un record/DTO de respuesta
DemoResponserecord con camposmode,dependency,dataImplementation Checklist
SecurityDependencyDemoControllerAnalysis Metadata
Add this agentic workflows to your repo
To install this agentic workflow, run