Identificación de las dependencias

Completado

Identificar las dependencias es un primer paso fundamental para establecer una administración de dependencias eficaz. Este proceso comienza por examinar el código base y determinar qué componentes deben reconocerse oficialmente como dependencias.

Descripción de las dependencias actuales

El proyecto de software y sus soluciones asociadas ya utilizan varias dependencias. El uso de bibliotecas y marcos creados por otros es una práctica generalizada en el desarrollo de software moderno.

Tipos de dependencias:

  • Dependencias externas: Bibliotecas, marcos y paquetes de terceros (por ejemplo, paquetes NuGet , módulos npm , artefactos de Maven ).
  • Dependencias internas: Componentes de código desarrollados dentro de la organización que se comparten entre proyectos.
  • Dependencias de desarrollo: Herramientas y bibliotecas necesarias solo durante el desarrollo (por ejemplo, marcos de pruebas, herramientas de compilación).

Identificación de dependencias internas

El código base actual puede contener dependencias internas que deben reconocerse oficialmente como tales.

Escenario de ejemplo:

Considere un segmento de código que encapsula un modelo de dominio de negocio específico. Este código puede ser:

  • Integrado como código fuente directamente en el proyecto
  • Copiado y usado en diferentes proyectos y equipos
  • Mantenido de forma independiente por un equipo dedicado

Este código debe reconocerse como una dependencia y administrarse en consecuencia.

Pasos para identificar las dependencias

Investigar el código base

Es necesario realizar una investigación exhaustiva del código base para identificar secciones de código que se deben clasificar como dependencias.

Preguntas que se van a formular:

  • ¿Qué componentes de código se usan en varios proyectos?
  • ¿Qué componentes tienen interfaces claras y bien definidas?
  • ¿Qué componentes cambian independientemente de la aplicación principal?
  • ¿Qué componentes pueden beneficiarse del control de versiones independiente?

Análisis de patrones de uso de código

Busque:

  • Duplicación de código: El mismo código copiado en varios proyectos indica una posible dependencia compartida.
  • Bibliotecas compartidas: Bibliotecas internas en las que se basan varios equipos.
  • Funciones de utilidad: Funciones auxiliares comunes que se usan en todo el código base.
  • Modelos de dominio: Lógica de negocios que representa los conceptos básicos del dominio.

Revisar las referencias del proyecto

Examinar:

  • Referencias de proyecto a proyecto: En los archivos de la solución.
  • Referencias de ensamblado: En lenguajes compilados como C# o Java.
  • Instrucciones de importación: En los archivos de código fuente.
  • Archivos de configuración: Manifiestos de paquete como package.json, pom.xmlo .csproj archivos.

Categorizar dependencias

Una vez identificadas, clasifique las dependencias por:

  • Tipo: Externo frente a interno
  • Ámbito: dependencia de aplicación frente a dependencia de desarrollo
  • Criticidad: Funcionalidad básica frente a características opcionales
  • Volatilidad: Estable frente a cambio frecuente

Refinando tus componentes

Este proceso de identificación requiere modificar cómo organizar el código y construir la solución. Finalmente, contribuirá al refinamiento de los componentes.

Ventajas de la identificación adecuada:

  • Mejora del mantenimiento: Borre los límites entre los componentes.
  • Mejor control de versiones: Los componentes se pueden versionar de forma independiente.
  • Reutilización mejorada: Los componentes se pueden compartir entre proyectos.
  • Duplicación reducida: Elimina la copia de código.
  • Mejores pruebas: Los componentes se pueden probar de forma aislada.