开发工具 命令设计

fenprace · 2012年04月01日 · 最后由 fenprace 回复于 2012年04月01日 · 2788 次阅读

广告: 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 是一款优秀的命令行工具,但从用户体验的角度分析,实在是很恶心。 包在 Bzip2 包里的,有 4 个命令。拜托,您就不能把其余 3 个全改成 Bzip2 的 options 吗? 您要嫌多加几个 actions 也行啊。

Unzip

man unzip 数数有几个 options 就知道了。 Unzip

那些用户体验优秀的命令行工具

Git

这个不怎么用说吧, actions 运用的很合理。

Useradd

既可交互,也可用命令行,优秀的设计。

建议

通过以上的例子,应该可以得出结论:

  • 软件功能较少、较单一,尽量使用 options ,而不是使用多个命令。
  • 软件功能较多,尽量使用 actions ,代替 不利于理解options

年代不同所以风格就不同吧,应该很多都比我老…

那几个打包程序确实很让人蛋痛,我每次都查。。。

#1 楼 @reus 估计是开源世界设计不同造成的。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号