4 votes

Conception d'une interface de ligne de commande avec options de base et sous-commandes

J'essaie de développer une interface de ligne de commande pour un outil que je suis en train d'écrire. J'hésite entre une interface similaire à celle de Fabric et une autre qui serait plus simple à utiliser. fab et un autre comme l'outil de ligne de commande de svn.

fab Le message d'utilisation de l'entreprise :

Usage: fab [options] <command>[:arg1,arg2=val2,host=foo,hosts='h1;h2',...] ...

svn Le message d'usage de l'entreprise :

usage: svn <subcommand> [options] [args]

Notez que svn prend également en charge deux options --version y --quiet (du moins celui que j'utilise).

Mes questions sont les suivantes :

  1. La conception du cli de fab (avec plusieurs commandes, chacune pouvant avoir des arguments) est-elle commune aux outils de ligne de commande ? Pour moi, le cli de l'outil svn semble plus communément utilisé (mais je n'en suis pas sûr).
  2. Serait-il simple de mettre en œuvre la clique de fab en utilisant plac (ou argparse) ?
  3. Si je décide d'utiliser la clique de svn, est-ce que cela peut être implémenté en utilisant plac ? J'aime bien Plac, mais je n'ai pas réussi à trouver comment ajouter des options à l'outil directement, au lieu des sous-commandes. Il peut certainement être mis en œuvre en utilisant argparse .

P.S. : La seule raison pour laquelle la clique de Fab m'intéresse est qu'elle permet d'accomplir plusieurs tâches en une seule étape, mais la facilité de mise en œuvre est ma principale préoccupation.

4voto

Aki Points 236
  1. La méthode de la subversion est plus standard.
  2. Probablement pas.
  3. On peut couper du beurre avec une hache à main.

Si vous voulez simplifier la documentation et l'utilisation, optez pour la méthode de SVN. Je peux comprendre pourquoi la méthode de Fab est attrayante, c'est logique pour un programmeur. Mais c'est en fait compliqué et désordonné pour les utilisateurs.

Plac semble cool, mais vous devez l'installer. Vos utilisateurs aussi.

J'aime suivre une règle simple lorsqu'il s'agit de génie logiciel : Restez simple et standard, utilisez les technologies de pointe lorsque vous avez vraiment besoin d'aide. besoin de il. La rétrocompatibilité doit être réalisée lorsque cela est possible.

Cependant, si vous ne faites que vous amuser et que vous n'avez pas l'intention de distribuer votre travail, alors continuez, à la manière de Flab et utilisez flac ;).

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