Prima un po 'di storia. Mi è stato affidato il compito di riscrivere il software della nostra pistola in VB.Net (convertendo il codice da BBJ). Questo software incorpora molte diverse funzioni di gestione dell'inventario, come l'esecuzione di mosse azionarie, indagini azionarie, cambio di stato delle scorte, raccolta di merci da inserire in cartoni e una moltitudine di altre operazioni. Sono anche relativamente nuovo nel progettare qualcosa di questa scala da zero (più o meno).
Ho già sviluppato un sistema di menu, utilizzando un TreeView che viene compilato dinamicamente in base alla configurazione del profilo dell'utente nel nostro sistema (in modo che possano accedere solo alle opzioni disponibili per la loro posizione).
La mia domanda entra in gioco quando si progetta il software e si tiene separato il codice per tutte le diverse voci di menu. È considerata una "buona pratica" creare un progetto separato per ciascuna voce di menu in uno scenario come questo? La maggior parte delle funzionalità è separata l'una dall'altra (IE: il codice per il prelievo non ha bisogno di accedere al codice per le mosse azionarie, e allo stesso modo il codice di spostamento delle scorte non dovrebbe accedere alla logica dello spaccato diretto).
Sto cercando di mantenere la soluzione il più pulita possibile, in modo che non ci imbattiamo in cose come un'opzione di menu con funzioni o risorse denominate in modo simile a un'altra, ecc. E inoltre possiamo "inserire" nuove funzionalità se necessario. L'idea è che io e un altro programmatore lavoreremo principalmente su questo codice, e ho pensato che se dividiamo il codice in progetti, possiamo semplicemente includere un progetto quando una nuova funzione è completata, aggiungendo le risorse se necessario. Qualche raccomandazione?