On Jan 22, 9:52 am, Yuking <
yuking_...@sohu.com> wrote:
> 大家好,好久没有关心fcitx了。最近又在回头考虑这个东东。
> 因为自己一直都在用它,从目前的情况看,3系列应该已经差不多了,虽然有很多的问题,但想在它的基础上做进一步的发展已经比较困难(个人观点),因此我
> 以为在现有的基础上改BUG,其它方面没有必要花太多功夫。如果大家还有兴趣接着写输入法,建议进行全新的开发,重写GUI,考虑实现SKIN的功能;
> 重写核心的算法,因为原来的结构太乱了,也很浪费内存速度也不快。
我认为重写代码这种理论,从来都是一个美好的愿望,理论上完美,实际上是个不切实际的梦想。
在大多数情况下是梦想没有实现就丧失了实现美梦的兴趣,最后得到一个浪费资源的半成品。
如果有坚韧不拔的精神,坚持下去,最终实现了梦想,会发现要想实现原来版本的功能,甚至更多功能,那么新的二代源码其实跟一代是一样的混乱,充满妥协,
打满补丁,只是花费了大量的时间,重做了一个轮子。
我以为,最好的方法就是,在一代基础上不断的进化,先逐渐实现模块化,在一定程度上隔离各种功能的代码,然后按模块进行现代化,系统化,美化。
没有程序是丑陋的无可挽救的,只是要先制定步骤,不要想着一步登天。敢于对部分代码进行大手术,大量放弃,删除,更新部分区域,区域重写,逐渐所有区域
都完成现代化。与此同时,整个系统处于可用状态,越来越好。然后可以进行下一轮现代化。
因为现代化的进程是没有尽头的,所以不断进化才是正确的处理方式;不断通过重写来追赶现代化是浪费资源的浪漫主义。
试图通过完全重写代码的尝试,最终都不会实现当初的目的,只是仅仅重写了代码而已,而已。
想重写的人,三思。