程序需要配置文件是非常普遍的事情,保存用户特定的配置和一些重复使用的信息,设置向导有利于直观的指导用户的配置操作。但是编写界面类的控制面板和配置向导其工作量是非常恐怖的,涉及到UI美化,同步数据等等问题。
更严重的是配置控制面板能够完成的配置项目很难做到非常大,比如Windows的注册表,功能是配置Windows所需的个性信息。如果把整个注册表,所有Windows可能改变的配置都做成图形界面是不可能的。Windows的控制面板能够配置的项目相对整个Windows来说是非常有限的,Windows的注册表可以说就是Windows的配置文件。
再比如Apache服务器也有一个配置文件,有经验的管理员知道如何来配置服务器选项,如果做成图形界面也是不可想象的,因为需要配置的东西太多了。
即使如此,配置文件对复杂的软件而言也是非常大的,用户需要查看很多文档,才能知道如何正确的配置数据。
另一种方案是使用脚本,脚本提供语法,用户可以自己编写需要的功能。这当然需要用户更高的操作水平,但是比起复杂的设置,这不一定更难。但是需要软件提供一个脚本引擎,对于复杂应用,脚本语言比配置文件更简洁高效。用户只需要学习自己需要的那一部分功能,而且可以自己编写需要的功能,无需每一个功能都去配置文件里查找项目,或者那个选项可能程序压根就没有提供。