Domanda

Sono un imprenditore e sono spesso portati a progetti di essere testa bassa e solo implementare funzionalità per una scadenza. Spesso però il mio passo diventa più veloce di quella del disegno sottostante. Così ho spesso finisco dover creare funzioni / metodi per eseguire un compito in via preliminare in attesa del progetto definitivo.

Caso in questione, attualmente mi è stato affidato il compito di eseguire il tipo di default di alcuni record in un modo che è troppo complicato per la progettazione di database corrente (in realtà mi piacerebbe utilizzare la funzione "campo" di MySQL, tranne che non credo che Java / Hibernate supporta). Così ho creato una funzione in cui i record potrebbero per il momento essere ordinati a livello di applicazione, che potrebbe o essere ri-implementato, o interamente evitata, una volta che il lavoro di progettazione di database necessaria è fatto.

La mia preoccupazione è, una volta che tutto il disegno necessaria è finito (in generale e / o specifico per quanto riguarda lo scenario descritto sopra), non voglio lasciare alle spalle una scia di funzioni possibilmente inutili / metodi. A volte si potrebbe aggiungere valore al progetto, ma a volte possono finire per essere un inutile strato di indirezione alla fine.

Come preoccupato dovrei essere su questo? Cosa posso fare per attenuare questo? Tipicamente essere un molto appaltatore a breve termine, di solito non hanno il tempo - o l'autorità - di implementare qualcosa come ad esempio un "modello di strategia", che potrebbe essere la mia inclinazione se fossi effettivamente responsabile per il disegno complessivo.

È stato utile?

Soluzione

Credo che una certa quantità di cruft è prevedibile come si evolve una base di codice. Anche quando si tenta di essere sistematici sull'eliminazione di distanza vecchio codice non utilizzato è difficile da rimuovere tutto. E 'sempre soddisfacente per trovare codice non utilizzato nel mio sistema che posso cancellare.

tipizzazione forte è il tuo amico qui, dal momento che consente di monitorare i tipi e gli usi in un modo molto migliore di tipizzazione debole. Quindi, stare lontano da questi tipi di dati stringa, fanno pulizia più difficile.

Un trucco veramente pulito è se è possibile riprodurre 24 ore vale la pena di traffico provenienti da sistemi di produzione su un sistema di test con uno strumento di copertura di codice in esecuzione allo stesso tempo. Che di solito è una miniera d'oro di codice morto, ma può essere difficile trovare il tempo per occuparsi di tali grandi quantità di pulizia tra le altre priorità;)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top