Volevo sapere se il modo in cui gestisco i file di origine che devono essere eliminati dal controllo versione potrebbe essere considerato una cattiva pratica.
Voglio spiegartelo in base a quell'esempio:
Di recente mi sono molto arrabbiato perché ho dovuto sistemare in modo noioso le classi Java in un programma che era sostanzialmente un codice morto, ma non era documentato da nessuna parte e non commentato in quelle classi Java. Certo, dovevano essere eliminati, ma prima di eliminare cose così ridondanti ho l'abitudine - qualcuno potrebbe dire strano -:
Non elimino immediatamente tali file ridondanti tramite SVN-> Elimina (sostituisci con il comando di eliminazione del tuo sistema di controllo versione scelto) ma inserisco invece i commenti in quei file (mi riferisco sia in testa che a piè di pagina) a cui stanno andando essere cancellato + il mio nome + la data e, soprattutto, PERCHÉ SONO ELIMINATI (nel mio caso, perché erano morti, codice confuso). Quindi li salvo e li commetto per il controllo della versione. La prossima volta quando devo impegnare / archiviare qualcosa nel progetto per il controllo della versione, premo SVN-> Elimina e poi alla fine vengono eliminati nel Controllo versione - comunque ovviamente ripristinabili tramite le revisioni e questo è il motivo per cui ho adottato questa abitudine.
Perché farlo invece di eliminarli immediatamente?
La mia ragione è che voglio avere marcatori espliciti almeno nell'ultima revisione in cui esistevano quei file ridondanti, perché meritavano di essere cancellati. Se li elimino immediatamente, vengono eliminati ma non è documentato in alcun modo il motivo per cui sono stati eliminati. Voglio evitare uno scenario tipico come questo:
"Hmm ... perché quei file sono stati cancellati? Ho funzionato bene prima." (Preme 'ripristina' -> il tipo che è stato ripristinato è scomparso per sempre o non è disponibile nelle prossime settimane e il prossimo cessionario deve scoprire noiosamente come sono i file)
Ma non noti perché quei file sono stati eliminati nei messaggi di commit?
Certo che lo faccio ma a volte un messaggio di commit non viene letto dai colleghi. Non è una situazione tipica che quando provi a capire il codice (nel mio caso morto) controlli prima il registro di controllo versione con tutti i messaggi di commit associati. Invece di eseguire la scansione del registro, un collega può vedere subito che questo file è inutile. Le fa risparmiare tempo e sa che questo file è stato probabilmente ripristinato male (o almeno solleva una domanda.