Dopo aver provato, testato, scritto le classiche cavolat-app (compresa una per calcolare il punteggio nelle gare di karate) mi sono finalmente deciso a scrivere un paio di applicazioni un attimo più serie, più che altro frontend per tablet di soluzioni gestionali che già girano in ambiente Windows (e qualcosa anche su mac).
Per fare le cose semplici ho deciso di partire da una app. per la creazione di fatture.
Ho preso carta e penna, e mi sono stilato l'elenco delle "FORM", o meglio ACTIVITIES, per fare questo tipo di gestione.
Mal contate, le tabelle da gestire sono, a questo punto dell'analisi, 7. Ovvero, Banche, Pagamenti, Tipi di documento, Clienti, Documenti, Righe dei documenti e Prodotti.
Sono ben consapevole che in realtà manchino ancora parecchie cose, ma l'importante, in questo momento, è mettere in piedi la soluzione.
Tralasciamo la gestione dei documenti e delle relative righe, che prevede ALMENO 5 activities, (Scelta documento, Inserimento dei dati di testata, di dettaglio, di piede, nonché un finale) ho deciso di suddividere la gestione delle altre tabelle in 2 activities (Scelta del record e dell'operazione, ovvero cancellazione, inserimento e modifica da una parte, gestione dei vari campi dall'altra) per cui, a conti fatti, solo per la gestione documentale sono necessarie 6*2 + 5 + main = 18 activities, con ancora da gestire statistiche (anche se mi chiedo che senso abbia fare statistiche su un tablet), stampe e menate varie.
Come si vede il progetto diventa un attimino complesso, con almeno una trentina di files da gestire.
Visto che non ho scoperto la luna, e che sicuramente c'è qualcuno che si è già ritrovato in una situazione del genere, vorrei capire come fare a (attenzione... best practice, non verità rivelate):
- Gestire un progetto base così, o anche più complicato
- Evitare la duplicazione con il copia-incolla di parti di codice
- Evitare di impazzire mancando una organizzazione gerarchica del progetto