Je repense une application en ligne de commande et cherche un moyen de rendre son utilisation plus intuitive. Existe-t-il des conventions pour le format des paramètres passés dans une application en ligne de commande? Ou toute autre méthode que les gens ont trouvée utile?
Réponses
Trop de publicités?Je vois beaucoup de ligne de commande de Windows les détails, mais si votre programme est prévu pour Linux, je trouve le GNU de ligne de commande standard pour être la plus intuitive. Fondamentalement, il utilise des doubles traits d'union pour la forme longue d'une commande (par exemple, --help
) et un seul trait d'union pour la version courte (par exemple, -h
). Vous pouvez également "pile" pour les versions courtes ensemble (par exemple, tar -zxvf
filename
) et mix 'n match long et court au contenu de votre coeur.
Le site de GNU également des listes standard option de noms.
Le getopt bibliothèque simplifie grandement l'analyse de ces commandes. Si C n'est pas votre sac, Python dispose d'une bibliothèque semblable, comme Perl.
Si vous êtes à l'aide de C# essayez Mono.GetOptions, c'est un très puissant et simple à utiliser, l'argument de ligne de commande de l'analyseur. Il fonctionne en Mono et des environnements Microsoft .NET Framework.
EDIT: Voici quelques caractéristiques
- Chaque param a 2 CLI représentations (1 caractère et de la ficelle, par exemple -a ou --ajouter)
- Les valeurs par défaut
- Fortement typé
- Magiquement produit un écran d'aide avec des instructions
- Magiquement produit une version et les droits d'auteur de l'écran
Une chose que j'aime dans certaines CLI est l'utilisation de raccourcis .
C'est à dire, toutes les lignes suivantes font la même chose
myCli.exe describe someThing
myCli.exe descr someThing
myCli.exe desc someThing
De cette façon, l'utilisateur peut ne pas avoir à taper la commande all à chaque fois.
La meilleure chose à faire est de ne pas supposer quoi que ce soit si vous le pouvez. Quand la opérateur de types dans votre nom de l'application pour l'exécution et n'a pas de paramètres, soit les frapper avec l'UTILISATION de bloc ou dans l'alternative ouvrir un Formulaire Windows, et leur permettre de saisir tout ce dont vous avez besoin.
c:\>FOO
FOO
USAGE FOO -{Option}{Value}
-A Do A stuff
-B Do B stuff
c:\>
Paramètre de délimitation je place sous l'en-tête d'un thème religieux: des traits d'union(tirets), double traits d'union, des barres obliques, de rien, de position, etc.
Vous n'avez pas indiquer votre plate-forme, mais pour le prochain commentaire, je vais supposer Windows et .net
Vous pouvez créer une console application .net et permettant d'interagir avec le Bureau à l'aide de Formes seulement par le choix de la console en fonction du projet puis en y ajoutant les Windows.Formes, Système.Dessin, etc Dll.
Nous le faisons tout le temps. Cela garantit que personne ne prend un virage vers le bas d'une ruelle sombre.
Voici un article CodeProject qui pourrait vous aider ...
Analyseur d'arguments de ligne de commande C # / .NET
SI VB est votre saveur, voici un article séparé (avec un peu plus de contenu lié aux conseils) à consulter ...
Analyser et valider les paramètres de ligne de commande avec VB.NET