Bug多多
其实静下心来想想,这也是正常的,这样匆匆忙忙赶出来的东西,质量能好到哪里去,而且事实上不但稳定性差,易用性也是极差。照我自己的估计,再给两个月,才能基本到可用的程度,即稳定性和易用性都为大多数普通用户接受的程度。
心里好烦啊!
中午在菠菜里吃出一条虫子,我都怀疑我有没有吃下去更多条,晕!拿去换了10块钱和1盘西瓜,然后去买卡士喝了。疯丫头也吃出一个小蚊蚊,这是以前某人常用的叫法,然后也是换了10块钱和1盘西瓜。
唉,我终究是很普通一人,有时候确实太高估自己了。
asio用了这么些天,还是没掌握具体用法,用来用去还是问题一堆。
COM也是很烦人一东西,无奈的是有些时候不得不用COM啊,再加上组里最有话语权决策权的几人,都是COM的忠实粉丝拥趸,郁闷。也不知道是不是我自己太高傲了,总是要跟别人唱反调。但总是觉得人家确实也没多少让我佩服的地方,唉。
对于一牛x的编辑器,以UltraEdit为榜样来说,要直接支持脚本扩展,可以通过方便地激活一外部脚本,来操作编辑器,比如移动光标,输入字符,查找替换,复制粘贴,删除撤消等等,这是一类最基本最通用的扩展方式,可以有任意数量的脚本。另外一类方式是,可以配置宿主程序的界面,比如增加菜单项,增加工具栏按钮,而且这些菜单项和按钮的位置、文字、图标等内容是可以定制的,当然点击后,就会触发一个脚本的运行,这种脚本也可以有任意数量,任意配置。还有一类方式,是事件处理脚本,当宿主程序遇到某一事件时,就会执行相应的脚本,比如打开一个文件时,文件关闭时等等,理论这类脚本也可以有任意多个,但实际上不能太多,因为如果某事件触发时,结果要分别运行一堆脚本,这种性能问题应该会比较明显,并可能让用户受不了。暂时想到的是这3类脚本扩展支持,最近又因为对多种脚本语言的简单接触,又没有哪种让我觉得特别喜欢,所以我反而想要能同时支持多种脚本语言的扩展。这时,SWIG出场的机会来了,至少Python、Ruby、Lua、TCL都是被它支持的。
除了可以用脚本扩展外,是否还要提供2进制扩展接口,这点我还不太确定,2进制扩展可以有普通DLL和COM两种方式,差别不大,只是怀疑其必要性,它有多少价值,多少能力,有多少情况下需要它出场解决问题。
最后一点是,正则引擎需要能挂接,随时任意替换吗,UltraEdit是这样做的。