Tengo un algoritmo lógico intensivo que necesito codificar en dos idiomas (en realidad lo terminé satisfactoriamente en un idioma y estoy a punto de comenzar a codificar en el otro idioma). Por lógica intensiva quiero decir que el algoritmo no es trivial, necesita una comprensión cuidadosa y, lo que es más importante, podría tener errores (debido a la complejidad y el descuido, ya sabes) que tendrían que repararse en el futuro.
Además, quiero asegurarme de que cuando este código cambie de manos, eventualmente, no debe abrumar a los nuevos programadores.
Dado este escenario, ¿cuáles son algunas formas que ayudarían a mantener las bases de código y mantenerlas sincronizadas? Por maneras me refiero a herramientas de software, mejores prácticas, etc.
Para su información, los dos lenguajes son C ++ y Java. C ++ para Windows / Linux y Java para "todo lo demás", incluido Android.