Ho un algoritmo logico intensivo che ho bisogno di codificare in due lingue (in realtà l'ho terminato in una lingua in modo soddisfacente e sto per iniziare a programmare nell'altra lingua). Con logica intensiva intendo che l'algoritmo non è banale, richiede un'attenta comprensione e, soprattutto, potrebbe avere bug (a causa della complessità e della noncuranza, lo sai) che dovrebbe essere corretto in futuro.
Inoltre, voglio essere sicuro che quando questo codice cambia mano, alla fine, non deve sopraffare i nuovi programmatori.
Dato questo scenario, quali sono alcuni modi per aiutare a mantenere le codebase e mantenerle sincronizzate? Con parole intendo strumenti software, best practice ecc.
FYI le due lingue sono C ++ e Java. C ++ per Windows / Linux e Java per "tutto il resto" incluso Android.