广告: http://fenprace.github.com/Essays/2012/02/24/Commands-Design/
最近恶补 Linux 基础工具的使用,遇见了一堆命令行程序。 这些程序的质量(仅从 用户体验 角度)良莠不齐,有垃圾的,也不乏有优秀的。 不由得大发感慨。
一句命令其实是有四部分组成的:
command [actions] [options] [arguments]
其中, command
是必需的,而且一句命令中只能有一个;其他均可多选。
options
arguments
大家都认识,就不多说了。 actions
可能有人不熟悉,其实,也是很常见的:
git add .
没错!那个 add
就是 actions
, .
是 arguments
。
首先,我承认 Bzip2 是一款优秀的命令行工具,但从用户体验的角度分析,实在是很恶心。
包在 Bzip2 包里的,有 4 个命令。拜托,您就不能把其余 3 个全改成 Bzip2 的 options
吗?
您要嫌多加几个 actions
也行啊。
按 man unzip
数数有几个 options
就知道了。
这个不怎么用说吧, actions
运用的很合理。
既可交互,也可用命令行,优秀的设计。
通过以上的例子,应该可以得出结论:
options
,而不是使用多个命令。actions
,代替 不利于理解 的 options
。