È considerata una cattiva pratica utilizzare programmi esterni?

6

È considerata una cattiva pratica chiamare ad esempio tshark o ffmpeg nel mio codice, supponendo che non sono riuscito a trovare una libreria abbastanza buona da usare?

    
posta J. Doe 10.02.2018 - 22:29
fonte

2 risposte

10

No, questa può essere una cosa normale e ragionevole da fare. Ma:

  • Il programma che si sta utilizzando deve avere un'interfaccia stabile e leggibile dalla macchina. Molti programmi hanno un output leggibile dall'uomo che è difficile da analizzare.

  • Questi programmi esterni sono una dipendenza. Le normali strategie del tuo linguaggio di programmazione per gestire le dipendenze non funzionano qui e avrai bisogno di un qualche tipo di gestione della configurazione durante la distribuzione della tua applicazione.

  • Tieni presente che la creazione di un nuovo processo potrebbe avere un sovraccarico significativo, soprattutto su Windows.

  • Chiamare programmi esterni ha implicazioni per la sicurezza. Se un utente malintenzionato può modificare il programma chiamato o anche solo gli argomenti della riga di comando, può essere utilizzato per l'escalation dei privilegi e l'esecuzione di codice remoto.

Come esempio di quando non usare programmi esterni: per un po 'di tempo, la libc di Apple era usata per shell out in Perl per implementare una funzione di libreria standard. Non è una buona idea.

    
risposta data 10.02.2018 - 23:01
fonte
1

Sì e No. Dipende da dove è in esecuzione il software. Se si trova in un ambiente chiuso con norme di sicurezza elevate, è possibile che si verifichino problemi con il software che carica le applicazioni esterne (e Librarys).

D'altra parte, se la tua applicazione è in esecuzione in un ambiente senza questo tipo di regolamenti, non ci dovrebbe essere nulla di negativo per utilizzare applicazioni esterne.

    
risposta data 10.02.2018 - 23:01
fonte

Leggi altre domande sui tag