2007年7月7日星期六

(Javascript) HTAutoComplete:不要进行词法分析

Keep It Simple, Stupid. (保持简单,保持拙。)
 
上篇关于AutoComplete控件的思考中提到为了设计一个万能的自动完成控件,要对HTAutoComplete进行词/语法分析的想法,现在我改变主意了,那是一个自作聪明的愚蠢想法。
 
举个简单的例子,对于用户输入的如下文本,应该如何理解呢(允许输入引号本身,粗体表示)?
"a,b",c
可以有两种取词方式,
("a)(b")(c)
("a,b")(c)
我们该如何选择?
 
再复杂一点,对于引号不成对的输入:
"a,b",c"
更复杂一些:
",a,b,",c,"

换个符号对?
(a,b),c

You Can't Write Perfect Software. (你不可能写出完美的软件。)
由于允许输入特殊符号本身,和用特殊符号来分词本身就很矛盾和复杂。而一个Javascript控件,一个帮助工具,没有必要做成无所不能。提供的功能越多,所受的制约就越多。

我的建议:
1. 帮助类只帮助;
2. 让服务器去万能。

 

没有评论:

发表评论