web-dev-qa-db-fra.com

Quels sont certains moyens de gérer les codesbases écrites dans deux langues qui implémentent la même logique?

J'ai un algorithme intensif logique que j'ai besoin de coder en deux langues (en fait, je l'ai terminé dans une langue de manière satisfaisante et je suis sur le point de commencer à coder dans l'autre langue). Par logique intensive, je veux dire que l'algorithme est non trivial, nécessite une compréhension minutieuse et, surtout, peut avoir des bugs (en raison de la complexité et de la négligence, vous savez) qui devrait être corrigé à l'avenir.

De plus, je veux m'assurer que lorsque ce code change de mains, finalement, il ne doit pas submerger les nouveaux programmeurs.

Compte tenu de ce scénario, quelles sont les moyens d'aider à maintenir les codesbases et à rester en synchronisation? Par des moyens de dire des outils logiciels, des meilleures pratiques, etc.

FYI Les deux langues sont C++ et Java. C++ pour Windows/Linux et Java pour "tout le reste", y compris Android.

10
vin

vous pouvez utiliser une langue pouvant compiler dans le code de la machine et Java code d'octet soit en transformant d'abord en Java et C++ ou directement. Dernier j'ai vérifié LLVM a reculé -exte pour les deux

eDIT: Un peu de navigation de wiki m'a eu à GCJ qui peut compiler Java au code de la machine

4
ratchet freak

C'est un bon exemple de l'endroit où les tests peuvent être utiles.

Je suggérerais d'avoir une seule suite de tests qui les deux Votre base de code est exécutée contre. Ensuite, vous savez que vos bases de code sont conformes à la même spécification!

(et avoir une bonne couverture de test!)

2
user1249

Envisagez du code générant le C++ et Java d'une autre langue

1
Nick Keighley