Inferiore alla configurazione del sistema usando l'esistenza di un file? nulla di buono?

2

Questa è una domanda generica sull'idea di dedurre alcune configurazioni di sistema dall'esistenza di un file o dalla mancanza di esso.

Ad esempio, abbiamo un modulo del sistema che è opzionale e richiede un altro pacchetto software, quello che stiamo facendo all'interno del codice è controllare l'esistenza di quel pacchetto durante il tempo di caricamento, e se quel pacchetto non è lì, disabilitiamo quel modulo (configuriamo il sistema usando l'esistenza del file).

Da una buona ingegneria del software e buone prassi prospettiche, è male? dovrei essere descritto come un cattivo software engineer quando difendo questa idea!?

    
posta Sakher 09.03.2016 - 09:21
fonte

1 risposta

2

La configurazione dinamica a seconda del set di fetaures installati sul sistema di destinazione non è male di per sé. È solo che entrare nel file system per eseguire tale controllo potrebbe essere lento e inaffidabile.

Se possibile, dovresti provare a seguire il percorso ufficiale. Se esiste un sistema di gestione dei pacchetti che è responsabile della configurazione di un sistema di destinazione, avrà un'API ben definita per verificare le funzionalità installate e dovresti usarlo. Se la tua interazione con quella funzione consiste in una specifica chiamata esterna, è spesso utile eseguire tale chiamata in modo vacuo solo per vedere se ha successo o meno.

Controllare l'esistenza di un file potrebbe fare la cosa sbagliata se qualche amministratore ha deciso che non ha effettivamente bisogno di questo specifico file per la funzionalità di sottoinsieme utilizzata dal suo sito, oppure il file potrebbe non Sii canonico come pensi. Se possibile, prova a cercare qualcosa che è definito in uno standard di gerarchia del file system, più è ufficiale e meglio è. Ad esempio, la Base Standard di Linux raccomanda che ogni distribuzione fornisca un file /etc/DISTRONAME-release per controllare in modo affidabile quale sia la distribuzione in esecuzione e quale verison.

    
risposta data 09.03.2016 - 09:27
fonte