Tengo un proyecto de software que funciona bien. Ahora, este proyecto debe ajustarse para modelar un sistema nuevo, pero relacionado. ¿Qué estrategias hay para mantener estos dos códigos bien organizados? Tendrán una base de código que es aproximadamente el 90% igual, pero hay muchas funciones que requieren pequeños ajustes.
He pensado en lo siguiente:
No estoy muy satisfecho con estas soluciones. ¿Hay un mejor enfoque?
Tenemos el mismo problema y así es como lo resolvemos:
#ifdef
según configuration La ventaja de este enfoque es mantener la parte común siempre sincronizada, y aislamos correctamente cada parte específica.
Sin embargo, debe tener cuidado con una parte del código de cada configuration. Por ejemplo, con un código similar (pero no idéntico) en diferentes files específicos, el posible error se puede corregir en una sola configuration. Se puede networkingucir definiendo un fragment de código como plantilla común o repensando el layout para poner en común una parte
Espero que la respuesta te ayude
¿Qué estrategias hay para mantener estos dos códigos bien organizados? Tendrán una base de código que es aproximadamente 90% igual
No es exactamente lo que necesita, solo asegúrese de saberlo.
Submodules
permiten que los repositorys extranjeros seSubmodules
dentro de un subdirectory dedicado del tree fuente, siempre apuntando a una confirmación particular.
Diferentes twigs en el git-repository: control perfecto de los dos proyectos, pero los cambios comunes deben hacerse en cada una de las twigs por separado.
Puede confirmar cambios en una twig y luego usar cherry-pick para agregarlos a cualquier otra twig que desee.