Sto scrivendo una semplice app per console per rinominare un gruppo di file / cartelle e voglio progettare questa app per console come più modulare possibile.
L'app per console è semplice quanto basta: chiedi all'utente quale sia il percorso della cartella di origine, a cosa vogliono rinominare la cartella e quando l'utente preme Invio. L'app trova quindi la cartella e inizia a rinominare in modo ricorsivo tutti i file / le cartelle all'interno delle sottocartelle.
Se la situazione si verifica dove l'utente deve digitare un percorso di cartella che non esiste, allora ad un certo punto voglio che l'app stampi "Impossibile trovare la cartella" all'utente. È qui che arriva la mia domanda: dove dovrebbe essere stampato questo messaggio di errore? Posso pensare a diverse opzioni:
- Verifica se la cartella esiste prima di chiamare la chiamata
RenameFolder(string folderPath, string newName)
. Stampa il messaggio di errore in questa cartella esiste controllo - Vai avanti e chiama immediatamente
RenameFolder(string folderPath, string newName)
, ma se non trova una cartella all'interno di quella funzione, restituisci un codice di errore o enum a significare che non è in grado di trovare la cartella. Il chiamante riconoscerebbe quindi questa enumerazione e stamperà un messaggio di errore. - Inserisci un assert all'inizio della funzione. Se l'affermazione fallisce, quindi stampare il messaggio di errore. Tieni presente che ciò interromperà l'esecuzione del programma se viene generato l'avviso.
- Inserisci un'istruzione if all'inizio della funzione controllando se la cartella esiste e, in caso contrario, stampa il messaggio di errore in tale controllo e torna.
- Metti un try / catch all'interno della funzione, fai in modo che l'eccezione sia lanciata, e nel comando catch stampa il messaggio di errore e poi ritorna.
Non riesco a decidere in che modo si crea il codice più "modulare". Quali sono i pensieri del tuo ragazzo?