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. 让服务器去万能。
没有评论:
发表评论