[Python-projects] user interface comments [some pylint new features]

Sylvain Thénault sylvain.thenault at logilab.fr
Sun May 7 16:01:21 CEST 2006


On Friday 21 April à 11:00, Francisco Borges wrote:
> Hello!
> 
> I would like to at least bring it to your attention that I really have a
> problem with all the [yn] options. This <yn> scheme leads to:
> 
> - too many options;
> - a very long and hard to read help message;
> - uncertainty about which options conflict with which;
> - uncertainty about how conflics are handled.
> - uncertainty (sometimes) about which is the default value.
> 
> Lot's of [yn] options could be collapsed into "choices" options. Either
> for cases of options that would be repeated of for options that occur
> only once. That would:
> 
> - make the help message shorter and lead to less options;
> - make (in some cases) the use of options with programed completion much
>   easier.
> - in some cases give the user a single option for options that would
>   otherwise conflict with each other.

side note: historically yn options have been introduced to be easily
serializable into a configuration file (store_true/store_false option
are not)
 
> Some concrete comments:
> 
> 1. All those --enable-blabla=[yn] could have been a single one
> 
> 
>   or
> 
> 
>   Or the output options, --parseable --html, this would be easier to use
>   and remember if it was --output=(text|html|parseable).
 
I've implemented this in the repository. Now, output format is specified
using a output-format choice option, and all enable-blabla have been
replaced using two exclusive [enable|disable]-checker=<cs list of checker names>
options
 
> 2. There seem's to be one option for each configuration file option and
>    those are too many. Lot's of pylint's options (not all!) could be set
>    using a "-o" option like aptitude's:
> 
> -o key=val   Directly set the configuration option named 'key'
> 
>    Plenty of those already require the user to look in the manual
>    anyway.

keeping this idea for later time ;)

>    For instance the way we have it, it's not so clear if all those names
>    and regexp's options in "Basic" are adding to or suppressing the
>    configuration file.

options given on the command line are overriding default or
configuration file settings.
 
> Another easier --help related suggestion: please consider enabling the
> indication of the default value in the help message (at the places that
> make sense). (Optparse supports that.)

This is a recent feature of optparse, which wasn't there at the time I
wrote the logilab.configuration module (on which is based pylint
configuration handling). I've extended this module to display current 
value in the help if the feature is available (eg python >= 2.4)

So all this is already a nice useability improvments imho :) Thanks
again for this valuable feedback.

-- 
Sylvain Thénault                               LOGILAB, Paris (France)
Formations Python, Zope, Plone, Debian:  http://www.logilab.fr/formations
Développement logiciel sur mesure:       http://www.logilab.fr/services
Python et calcul scientifique:           http://www.logilab.fr/science



More information about the Python-Projects mailing list