Io e il mio collega stiamo lavorando su una nuova applicazione che dovrebbe sostituire al più presto una vecchia VB6
/ Access 97
applicazione fatta anni fa. Questa applicazione ha molti problemi, la loro regolazione nello stesso ambiente è semplicemente impossibile.
Quello che stiamo cercando di fare è riscrivere tutto il codice in C#
e MySql
.
Fondamentalmente stiamo partendo da zero, le uniche cose che possiamo tenere dal vecchio progetto sono alcuni dati che abbiamo già migrato da Access
a MySQL
La mia domanda è, dato che abbiamo un tempo limitato e stiamo imparando durante la codifica (nessuna esperienza passata in C #) quali sono le cose che dovremmo considerare da implementare e cosa dovremmo evitare per ora?
L'ambito dell'applicazione qui non è molto importante, solo alcune letture e scritte sul database.
Questo è ciò che stiamo già facendo nel nostro piccolo team di 2:
-
Controllo origine -
Git
, non avevamo SC prima -
Monitoraggio dei bug -
FogBugz
nel nostro caso, siamo passati da Excel - Soluzione - Ora abbiamo 1 soluzione con 3 progetti all'interno, in VB6 c'erano 5 diversi progetti. 5 differenti .exe senza un vero motivo.
Questo è ciò di cui non siamo veramente sicuri vale la pena implementare il tempo:
-
Entity Framework - Sembra buono ma c'è una curva di apprendimento, dal momento che stiamo andando con
ADO.NET
, piuttosto semplice. Pianificazione sull'utilizzo diDapper
quando possibile poiché sembra davvero facile e veloce. -
Test unitario - Non abbiamo mai fatto test unitari prima, abbiamo iniziato con
NUnit
ma poiché la nostra applicazione non è altro che la scrittura e la lettura dei dati dal database non siamo sicuro come implementarlo. Provatomoq
anche con gli stessi risultati. In questo caso pensiamo che il nostro modo di procedere sia semplicemente avere un dump del database e testarlo. -
WPF -
WPF
sembra fantastico, ma anche qui c'è una curva di apprendimento. Abbiamo iniziato il nostro progetto inWinForms
, il nostro obiettivo principale ora è avere un'app funzionale il più presto possibile e non carina. Questo è anche abbastanza importante per il futuro di questa applicazione perché per quello che ho capito che va daWinForms
aWPF
è un grande passo e serve molto riscrittura. -
Rapporti abbiamo più di 100 rapporti da ricreare. Sono tutti realizzati in
CRXI
utilizzando una tabella comeReport1_Print
nel database con tutti i dati ripetuti su tutte le righe. Terribile. Non abbiamo ancora provato nulla, ma stiamo pianificando di utilizzareVisual Studio Report designer
. -
Distribuzione 30-35 utenti lo useranno, dal momento che condividiamo il
.exe
aggiornato dell'app vb6 sul nostro server e gli utenti lo scaricano con una.bat
. Stiamo cercando qualcosa di un po 'più elegante qui ...
Con il tempo in mente, quale dovrebbe essere il nostro obiettivo principale? Non stiamo davvero cercando il modo migliore per fare le cose, stiamo cercando il modo migliore per ottenere il lavoro (un buon lavoro) fatto il prima possibile. L'attenzione qui è sugli utenti che al momento non possono lavorare in modo efficiente.