Per Qt, o C ++, esistono standard o pratiche moderni per la progettazione di file Run Configuration per i tuoi programmi? [chiuso]

0

Backstory

Sto costruendo un demone che deve essere eseguito in background su sistemi basati su X11. A partire da ora, le impostazioni sono hardcoded e ovviamente devono essere modificate. Pertanto, ho intenzione di creare un /home/user/.mydaemonrc

Problema

Diversi file di configurazione di esecuzione tendono ad avere sintassi diverse.

.vimrc per esempio è completamente diverso da .zshrc , e non mi è chiaro come o perché hanno scelto la loro sintassi rispettiva.

Domande

  1. Qualche modo ovvio in avanti quando si sceglie quale sintassi verrà utilizzata una configurazione di esecuzione?

  2. Esistono strumenti di uso comune (forse le Classi) per progettare e analizzare i file di configurazione?

  3. Rendere il file di configurazione di esecuzione un xml è una buona idea?

  4. Qualcos'altro da prendere in considerazione?

Grazie.

    
posta Akiva 29.07.2017 - 10:52
fonte

1 risposta

1

TL; DR

Se il tuo programma non implementa o integra già un linguaggio di scripting, usa un formato standard come TOML, YAML, JSON o XML. In questo caso, includerei un'estensione di file appropriata, giusto per chiarire che si tratta, effettivamente, di quel formato, e non solo di qualcosa di superficialmente simile.

Se il tuo programma implementa o integra un linguaggio di scripting e è quello a cui l'utente tipico sarà esposto abbastanza frequentemente per acquisire familiarità durante l'uso tipico della tua app, considera solo l'uso di quella lingua.

Vim e Zsh sono entrambi interpreti. Vim implementa Vim Scripting Language (talvolta chiamato Vimscript o VimL):

The Vim script language is used for the startup vimrc file, syntax files, and many other things.

Zsh implementa, um, Zsh, che è anche un linguaggio di programmazione:

Zsh is a shell designed for interactive use, although it is also a powerful scripting language.

(Enfasi aggiunta da me)

La citazione Vim lo dice esplicitamente, vimrc è scritto in VimL. Lo stesso vale per zshrc : è scritto in Zsh. Inoltre, ogni volta che usi un comando in modalità a riga di comando in Vim o scrivi un comando su Il prompt della shell di Zsh nel terminale, stai scrivendo rispettivamente VimL o il linguaggio Zsh.

Ciò a cui tutto questo si riduce è che gli autori di Vim e Zsh non hanno inventato una nuova, unica sintassi per i loro file di configurazione, hanno semplicemente riutilizzato i linguaggi di programmazione già implementati dai loro programmi. Dal momento che i loro utenti usano questi linguaggi per interagire con i programmi, gli utenti possono familiarizzarsi facilmente con loro, facilitando la comprensione dei file di configurazione.

Questo è particolarmente vero per Zsh, dove, a parte alcuni codici di controllo e una minore manipolazione del cursore, l'unico modo per interagire con la shell è attraverso il linguaggio. È un po 'meno vero per Vim, dove la maggior parte dell'interazione può avvenire attraverso la modalità normale e di inserimento, e anche il numero di comandi di linea di comando usati comunemente può essere limitato.

    
risposta data 30.07.2017 - 20:42
fonte

Leggi altre domande sui tag