Ho costruito un framework per toy server che offre opzioni di configurazione molto estese. Nella configurazione, ad esempio, è possibile definire istanze di moduli con ciascuna delle opzioni generiche, come il livello di registrazione, il percorso, il formato, le opzioni specifiche del modulo come la porta di ascolto per un daemon http ecc.
Ho usato un grosso file JSON per questo. C'è un grande oggetto "moduli" che le chiavi sono nomi di moduli, ei valori sono configurazione dell'oggetto modulo. C'è un mucchio di sottolivelli che non descriverò qui. Rapidamente, mi sono fatto male con alcune limitazioni del formato JSON:
- Non ci sono commenti quindi ho bisogno di creare una documentazione separata per le opzioni del modulo
- Mancano alcune strutture di dati. Ad esempio, set. Non c'è sintassi per suggerire l'utente se un ordine di lista e unicity sono importanti o meno.
- Ultimo ma non meno importante, non ho trovato un modo corretto per rappresentare i vincoli delle chiavi esterne.
C'è qualche altro formato di file leggibile dall'uomo che offre questo tipo di funzionalità?