Io lavoro su una base di codice grande con una base di installazione di grandi dimensioni di utenti. Il codice è stato originariamente scritto in vb6 con alcuni moduli COM C++ per lavori di basso livello.Come continuate a sviluppare grandi sistemi software (a lungo termine) con legacy e nuovo codice?
È completamente impossibile riscrivere tutto il codice che è già stato scritto in vb6 e viene utilizzato quotidianamente dai nostri clienti, ma stiamo anche continuando a apportare miglioramenti e personalizzazioni al software (grandi e piccoli).
La mia soluzione finora è scrivere la maggior parte del nuovo codice in C# (winform e anche wpf ora) e quindi utilizzare l'interoperabilità COM per chiamare i moduli da vb6.
Qualcuno là fuori ha esperienza con suite di software a lungo termine come questa (10 anni) che non possono essere fermate per una riscrittura completa, ma hanno bisogno di un continuo nuovo sviluppo allo stesso tempo. Inoltre, in sistemi misti come questo, qual è il modo migliore per interfacciare i moduli? Sto usando la COM in questo momento, ma ho considerato l'IPC anche con processi separati.
Sono completamente d'accordo con questo. La riscrittura incrementale dei moduli VB6 su molte versioni è la strada da percorrere. Non c'è nulla che impedisca al tuo team di fare nuove funzionalità mentre alcuni di voi stanno lentamente rifattorizzando il vecchio codice. –
... ma OTOH, le riscritture incrementali richiedono anche molto coordinamento, ampia strumentazione e strategie di test mature se si desidera mantenere sotto controllo la qualità e il costo. Ho visto molte soluzioni VB6 monolitiche che resistono attivamente al refactoring! –
Ma se la tua applicazione è "resistente", allora hai comunque dei problemi. _Quale_ potrebbe essere una buona ragione per fare una riscrittura. –