Ich arbeite an einer großen Codebasis mit einer großen Installationsbasis von Benutzern. Der Code wurde ursprünglich in vb6 mit einigen C++ COM-Modulen für Low-Level-Arbeit geschrieben.Wie entwickeln Sie weiterhin große (langfristige) Softwaresysteme mit altem und neuem Code?
Es ist völlig unmöglich, den gesamten Code, der bereits in vb6 geschrieben ist und von unseren Kunden täglich verwendet wird, neu zu schreiben, aber wir machen auch weiterhin Verbesserungen und Anpassungen an der Software (groß und klein).
Meine bisherige Lösung ist es, den größten Teil des neuen Codes in C# zu schreiben (winforms und sogar wpf jetzt) und dann COM Interop zu verwenden, um die Module von vb6 aufzurufen.
Hat jemand Erfahrung mit langfristigen Software-Suiten wie diese (10+ Jahre), die nicht für eine komplette Neuschreibung gestoppt werden können, aber ständig neue Entwicklung zur gleichen Zeit brauchen. Auch in gemischten Systemen, wie ist der beste Weg, um die Module zu verbinden? Ich benutze COM jetzt, aber habe IPC mit getrennten Prozessen auch betrachtet.
Ich stimme dem vollkommen zu. Das schrittweise Überschreiben Ihrer VB6-Module über viele Releases hinweg ist der richtige Weg. Es gibt nichts, was Ihr Team daran hindern könnte, neue Funktionen zu entwickeln, während einige von Ihnen langsam den älteren Code umgestalten. –
... aber OTOH, inkrementelle Umschreibungen erfordern auch viel Koordination, großzügige Instrumentierung und ausgereifte Teststrategien, wenn Sie Qualität und Kosten unter Kontrolle halten wollen. Ich habe viele monolithische VB6-Lösungen gesehen, die dem Refactoring aktiv widerstehen! –
Aber wenn Ihre Anwendung "resistent" ist, dann haben Sie auf jeden Fall Probleme. Dies könnte ein guter Grund sein, umzuschreiben. –