Changing some command names

Choosing the right number of commands and the right names for those commands is more art than science. At one extreme you can have a single command with args to differentiate the function. At the other extreme you can have a command for every possible permutation. The sweet spot is somewhere in the middle, where the user does not have to do a lot of typing to accomplish their goals, while only having to remember a manageable set of commands that make sense.

A good rule for introducing a new command is when the function is used very frequently, and most of the arguments don't vary much. Of course, you also don't want to use args to create a variation of a command that doesn't make sense with the base command. E.g., you would not want to have a command like zero create -delete, where delete is a variation on create.

There has been some discussion on the names of the CLI commands. Some are in favor of changing the install and clone commands to be variations of create. In this scheme, there would be three variations of create:

  1. zero create <appname> (current create)
  2. zero create <appname> -copyfrom x (current install)
  3. zero create <appname> -linkfrom x (current clone)

The original reason for choosing the name install was because of its similarity to apt-get install. The main difference between the two is the Debian scripts that get executed as part of apt-get install. We had originally planned to have a similar type of Ant script execution occur as part of the zero install, but a clear pattern for such types of scripts has not arised yet. The current zero install command does a get of the package, and then an extract into a user-specific location. At that point, it is ready to run, unless there are any custom installation steps that need to be performed.

r1 - 09 Oct 2007 - 14:22:47 - ajtarter
Syndicate this site RSS ATOM
Copyright 2007 © IBM Corporation | Privacy | Terms of Use | About this site