Quali sono i vantaggi dell'utilizzo della riga di comando per lo sviluppo del software? [chiuso]

7

Quali benefici si ottengono dall'usare la riga di comando per lo sviluppo del software rispetto all'uso di una GUI alternativa? La riga di comando è più veloce per certe attività? Alcuni strumenti sono disponibili solo tramite la riga di comando?

    
posta br3w5 30.09.2012 - 15:57
fonte

3 risposte

27

I vantaggi della riga di comando sulle applicazioni GUI includono:

  1. Se stai scrivendo questi strumenti piuttosto che usarli, la linea di comando è facile da sviluppare. Accettare argomenti sulla riga di comando è banale e l'output su un flusso di testo è altrettanto semplice.
  2. Le applicazioni della riga di comando possono essere facilmente utilizzate in file batch o script, il che è ottimo per test automatici o build. La maggior parte degli strumenti di compilazione, come make, ant e msbuild forniscono un buon supporto per chiamare gli strumenti da riga di comando.
  3. I flussi di input, output e error possono essere facilmente reindirizzati, consentendo l'invio o la ricezione di informazioni da file o altre applicazioni. Questo può significare che i dati di test possono essere facilmente forniti o catturati.
  4. Esiste un meccanismo di restituzione degli errori semplice ma standard (codice di ritorno e flusso di errori). Rilevare un errore in una GUI potrebbe richiedere l'automazione dell'interfaccia utente.
  5. Utilizzare su shell remota o connessioni simili rende molto più semplice eseguire attività in remoto, ad esempio quando uno sviluppatore si connette da casa o in viaggio. Le connessioni desktop remote sono più diffuse al giorno d'oggi ma richiedono più larghezza di banda e una connessione a latenza inferiore.
  6. Esistono degli standard definiti per la guida (come il comando unix man o il passaggio -? come argomento). Se qualcuno non conosce una funzione, può facilmente vedere cosa fornisce lo strumento. Allo stesso modo, esistono standard di sintassi dei caratteri jolly definiti per specificare più file, attingendo alle conoscenze degli sviluppatori esistenti.

Tuttavia, le applicazioni a riga di comando hanno questi svantaggi rispetto alle applicazioni GUI:

  1. Le applicazioni da riga di comando sono più difficili da imparare da usare, in particolare per coloro che non sono abituati a loro. Questo di solito non è un problema per lo sviluppo del software perché gli sviluppatori sono spesso usati per comandare strumenti di linea, ma potrebbero essere problematici per le persone meno tecniche coinvolte nello sviluppo come QA junior, localizzatori e scrittori tecnici.
  2. Le applicazioni a riga di comando richiedono una tastiera e quindi non sono pratiche per alcuni dispositivi come telefoni o tablet.
risposta data 30.09.2012 - 16:02
fonte
8

Suppongo che intendi usare un compilatore da riga di comando al posto di un IDE. Lascia un commento in caso contrario e cancellerò la mia risposta.

Learning. Scopri come le unità di codice sono compilate, collegate o mappate insieme nella tua lingua. In genere è necessario indicare esplicitamente al compilatore quali file compilare e collegare. In questo modo capirai meglio come funziona. Un IDE farà magie per semplificarti la vita ma ti manterrà ignorante.

Quindi fai un ulteriore passo avanti e impara a creare il tuo make-file personale. Questa è un'abilità preziosa. Il tuo make-file fa sì che il ciclo di costruzione si avvicini alla praticità della "magia IDE" pur mantenendo la piena comprensione e apprendimento.

Inoltre, il processo di compilazione è facile da inserire nel controllo del codice sorgente. Ed è facile portare il tuo processo di compilazione per lavorare con una varietà di compilatori. A volte è solo questione di cambiare 1 riga nel make-file per il nome del compilatore.

Sviluppa abilità che ti consentono di lavorare su molte piattaforme. Editor di testo e compilatori da riga di comando sono molto simili da tutti i fornitori e su tutte le piattaforme. Questi strumenti di base ti danno un pass da sviluppare su qualsiasi sistema, in qualsiasi momento, ovunque 24 ore su 24, 7 giorni su 7. Se hai vissuto in Visual Studio per tutta la vita, sarà molto più difficile passare al di fuori di esso.

Se segui questo percorso, potresti voler imparare ad usare un editor di testo avanzato come VIM. Completa la capacità di lavorare su qualsiasi piattaforma poiché è supportata quasi ovunque. Ha una curva di apprendimento enorme, ma il pay off è la possibilità di modificare il testo senza sforzo ad alta velocità senza muovere le mani al mouse.

A proposito, non sono contro IDE.

    
risposta data 30.09.2012 - 16:37
fonte
3

Le GUI hanno il vantaggio di poter utilizzare visualizzazioni avanzate. Questo può essere estremamente utile per rendere significativi i dati complessi.

Le linee di comando, d'altra parte, sono spesso più potenti (ad esempio completamente programmabili) e anche di solito più veloci. Le altre risposte si sono ampliate su questo - qui vorrei solo menzionare che le GUI non offrono un vantaggio per alcune attività:

In fase di sviluppo, molte attività non richiedono effettivamente alcuna visualizzazione che non possa essere eseguita utilizzando un'interfaccia testuale / di testo. Prendi la compilazione: i buoni editor di testo (Vim, Emacs) supportano facilmente l'analisi dei messaggi di errore e salteranno direttamente all'errore nel codice. Gli IDE grafici non offrono di più. In parole semplici, per tali compiti non c'è bisogno di un'interfaccia grafica, e si perderebbero la flessibilità e l'efficienza di un'interfaccia a riga di comando.

D'altra parte, una visualizzazione interattiva può essere molto utile se hai a che fare con una complessa interazione dei dati. Il software di controllo della versione in grado di visualizzare i grafici delle diramazioni spesso batte qui le interfacce di testo. Ad esempio, questa è un'istantanea da uno dei miei repository:

Questoèmoltopiùconvenientedell'interfacciatestuale,anchesequestanonènemmenounavisualizzazioneparticolarmentepotente.Maancoraunavolta,sinoticheinrealtàmanipolareilrepositoryèpiùveloceusandolarigadicomando(almenoperme).IousolaGUIsolopervisualizzareirami.

Notainoltrecome Github ha recentemente aggiunto un'interfaccia della riga di comando in riconoscimento del fatto che molte attività possono essere eseguite più velocemente digitando un comando piuttosto che facendo clic su una pagina Web.

    
risposta data 01.10.2012 - 08:50
fonte

Leggi altre domande sui tag