Je travaille sur une grande base de code avec une grande base d'utilisateurs. Le code a été écrit à l'origine en vb6 avec quelques modules COM C++ pour le travail de bas niveau.Comment continuez-vous à développer de grands systèmes logiciels (à long terme) avec du code existant et nouveau?
Il est complètement impossible de réécrire tout le code qui est déjà écrit en vb6 et qui est utilisé par nos clients tous les jours, mais nous continuons également à apporter des améliorations et des personnalisations au logiciel (grand et petit).
Ma solution jusqu'à présent est d'écrire la plupart du nouveau code dans C# (winforms et même wpf maintenant), puis utiliser COM interop pour appeler les modules de vb6. Est-ce que n'importe qui a de l'expérience avec des suites logicielles à long terme comme celles-ci (10+ ans) qui ne peuvent pas être arrêtées pour une réécriture complète, mais ont besoin d'un nouveau développement continu en même temps. De même, dans les systèmes mixtes comme celui-ci, quelle est la meilleure façon d'interfacer les modules? J'utilise COM en ce moment, mais j'ai également considéré l'IPC avec des processus séparés.
Je suis complètement d'accord avec cela. La réécriture incrémentielle de vos modules VB6 sur plusieurs versions est la voie à suivre. Rien n'empêche votre équipe de faire de nouvelles fonctionnalités pendant que certains d'entre vous refacturent lentement l'ancien code. –
... mais OTOH, les réécritures incrémentales requièrent également beaucoup de coordination, une instrumentation généreuse et des stratégies de test éprouvées si vous voulez garder la qualité et les coûts sous contrôle. J'ai vu beaucoup de solutions VB6 monolithiques qui résistent activement au refactoring! –
Mais si votre application est "résistante", alors vous avez des problèmes dans tous les cas. _That_ pourrait être une bonne raison de faire une réécriture. –