Perl - статьи



              

Создавайте продуманные интерфейсы командной строки - часть 2


Здесь каждое приложение, которому требуется входной и выходной файл, использует для этого одинаковые флаги. Пользователь, который хочет использовать утилиту substrate utility (для конвертации .wdw-файла в процедуру) вероятно сможет угадать корректный синтаксис требуемой команды:

> substrate -i dest.wdw -o dest.sub

Те, кто не сможет этого угадать, вероятно могут догадаться использовать команду

> substrate --help

для получения помощи.

Существенная часть работы по проектированию интерфейсов состоит в том, чтобы придать единообразие различным компонентам этого интерфейса. Вот некоторые соглашения, которые могут помочь Вам в проектировании последовательного и предсказуемого интерфейса:

  • Требуйте наличие флага перед каждым элементом данных командной строки, исключая, возможно, имена файлов

    Пользователи не настроены запоминать, что Ваше приложение требует указания "входного файла, выходного файла, размера блока, вида операции, стратегии обработки ошибок", причём указания всех этих данных в строгом порядке:

    > lustrate sample_data proc_data 1000 normalize log

    Они хотят иметь возможность явно указать то, что они хотят, причём в удобном для них порядке::

    > lustrate sample_data proc_data -op=normalize -b1000 --fallback=log

  • Предоставьте также флаги для каждого имени файла, особенно если файлы это могут использоваться программой для различных целей.

    Пользователи также могут быть не в восторге от того, что им нужно помнить в каком порядке указываются различные имена файлов. Так что позвольте им также добавлять метки для этих аргументов и указывать их в том порядке, в котором они предпочитают:

    > lustrate -i sample_data -op normalize -b1000 --fallback log -o proc_data

  • Используйте одиночный дефиса (-) в качестве префикса для флагов, заданных в сокращённой форме, до трёх символов включительно (-v, -i, -rw, -in, -out).

    Опытные пользователи ценят сокращённые флаги, т.к. нужно меньше набирать на клавиатуре. Не используйте двойной дефис для этих сокращённых флагов.




    Содержание  Назад  Вперед