Sto lavorando su un piccolo strumento come progetto giocattolo per mostrare la differenza tra due directory, mostrando quali file / directory sono stati aggiunti, rimossi, modificati, ecc.
Stavo cercando di rappresentare queste modifiche semplicemente come oggetti "ChangeItem", senza distinzione tra se si trattasse di un file o di una directory. Tuttavia, questo ha creato molti problemi, ad esempio come visualizzarli in un albero, come sapere chi è il genitore di un bambino, ecc. Ed è stato anche molto intuitivo.
Ho quindi diviso le modifiche tra le modifiche alle directory e le modifiche ai file. Ciò ha reso immediatamente molto facile la codifica e la comprensione di ciò che stava accadendo. Ora è molto più semplice selezionare tutti i file in una directory, ecc.
La mia domanda è: come si può sapere se usare l'astrazione o ottenere più specifici nel loro codice? Come puoi dire se hai troppa o troppo poca astrazione?