Skip to content

[🧬 Duplicate Code Report 🔍] Duplicate Code: Patrón de construcción de respuesta en SecurityDependencyDemoController #126

Description

@github-actions

Análisis del commit b16c75a

Assignee: @copilot

Summary

El método de construcción de respuesta LinkedHashMap<String, Object> se repite de forma idéntica en los 3 endpoints de SecurityDependencyDemoController, duplicando ~5 líneas por método (15 líneas en total).

Duplication Details

Pattern: Response map builder duplicado

  • Severity: Medium
  • Occurrences: 3
  • Locations:
    • src/main/java/com/example/demo/controller/SecurityDependencyDemoController.java (líneas 24–29)
    • src/main/java/com/example/demo/controller/SecurityDependencyDemoController.java (líneas 38–43)
    • src/main/java/com/example/demo/controller/SecurityDependencyDemoController.java (líneas 48–53)
  • Code Sample:
    Map<String, Object> response = new LinkedHashMap<>();
    response.put("mode", "...");
    response.put("dependency", "org.apache...:x.y");
    response.put("<dataKey>", <value>);
    return response;

Impact Analysis

  • Maintainability: Añadir o cambiar campos de respuesta requiere modificar 3 lugares distintos.
  • Bug Risk: Un fix en el formato de respuesta podría aplicarse solo en algunos métodos.
  • Code Bloat: ~15 líneas que podrían reducirse a 1 llamada por método.

Refactoring Recommendations

  1. Extraer método helper privado
    private Map<String, Object> buildResponse(String mode, String dependency, String dataKey, Object data) {
        Map<String, Object> response = new LinkedHashMap<>();
        response.put("mode", mode);
        response.put("dependency", dependency);
        response.put(dataKey, data);
        return response;
    }
    • Estimación: 30 min
    • Beneficio: un único punto de cambio para el formato de respuesta

Implementation Checklist

  • Revisar los 3 métodos afectados
  • Extraer el helper buildResponse
  • Sustituir los bloques duplicados por llamadas al helper
  • Verificar que los tests pasan sin cambios de comportamiento

Analysis Metadata

  • Analyzed Files: 8
  • Detection Method: Semantic code analysis
  • Commit: b16c75a
  • Analysis Date: 2026-06-23T13:16:00Z

Generated by Duplicate Code Detector · sonnet46 879.3K ·

Add this agentic workflows to your repo

To install this agentic workflow, run

gh aw add githubnext/agentics/workflows/duplicate-code-detector.md@298f992955146a6731d380a9de808e17861708e5
  • expires on Jun 25, 2026, 1:20 PM UTC

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions