37 votes

Suggestions pour la mise en œuvre d'une interface de ligne de commande

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?

29voto

yukondude Points 8756

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.

14voto

Sklivvz Points 16412

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

4voto

VonC Points 414372

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.

3voto

Bill Points 1532

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.

3voto

Sean Gough Points 965

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X