LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 5910|回复: 21

fcitx源码分析(已经完成6篇)

[复制链接]
发表于 2008-3-11 01:20:42 | 显示全部楼层 |阅读模式
我正在写一个系列文章,分析fctix的源代码。如果有人感兴趣,可以到我博客上查看。http://blog.csdn.net/qimingos
    谨以此系列文章,献给fcitx的作者Yuking <yuking_net@sohu.com>。感谢他为我们提供了这个好的输入法。
 楼主| 发表于 2008-3-11 01:26:10 | 显示全部楼层
目录:
fcitx源码分析 - 0.引子   http://blog.csdn.net/qimingos/archive/2008/03/10/2164938.aspx

fcitx源码分析 ── 1.源码中文件用途说明   http://blog.csdn.net/qimingos/archive/2008/03/10/2164954.aspx

fcitx源码分析 ── 2.main函数    http://blog.csdn.net/qimingos/archive/2008/03/10/2164954.aspx

Fcitx源码分析 ── 3.LoadConfig及LoadProfile函数  http://blog.csdn.net/qimingos/archive/2008/03/12/2175394.aspx

fcitx源码分析 ── 4.字典及成语的处理  http://blog.csdn.net/qimingos/archive/2008/03/14/2180735.aspx

fcitx源码分析 ── 5.界面的处理  http://blog.csdn.net/qimingos/archive/2008/03/14/2183639.aspx

fcitx源码分析 ── 6.我是输入法 http://blog.csdn.net/qimingos/archive/2008/03/20/2198673.aspx
回复 支持 反对

使用道具 举报

发表于 2008-3-11 11:17:41 | 显示全部楼层
对此正有兴趣
多谢
回复 支持 反对

使用道具 举报

发表于 2008-3-11 22:51:31 | 显示全部楼层
严重鼓励,楼主作了一件很有意义的事情 ,希望早日看到fcitx的新版本。
回复 支持 反对

使用道具 举报

发表于 2008-3-12 22:21:42 | 显示全部楼层
啊,太好了,我一直想入手,就是没时间弄清代码的结构,有老兄的工作,理解代码就轻松多了。
回复 支持 反对

使用道具 举报

发表于 2008-3-15 10:42:46 | 显示全部楼层
太支持了!!!
回复 支持 反对

使用道具 举报

发表于 2008-3-15 10:46:59 | 显示全部楼层
强! 这个博客得好好收藏呀
回复 支持 反对

使用道具 举报

发表于 2008-3-16 01:28:51 | 显示全部楼层
感谢楼主的辛勤工作。

但是敝人以为,与其这么仔细地对其中的大部分的语句做注释,还不如写一些构架方面的文档。其实对于一个程序员来说,在知道程序构架、原理之后,看代码,并不是件难事。这么仔细地作注释,一个工作量太大,难以完成,二个我也怀疑其他的程序员会真正地去看。其实,如果要详细地注释的话,那么需要的是:
1)总体构架、原理文档;
2)函数的注释;
3)关键语句的注释。
1)是至关重要的。2)对于简单的函数来说,也不是必须的;但是对于关键的函数或者比较长的函数,这也是必须的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-16 10:46:14 | 显示全部楼层
说的有道理。
不过,对于现在这种情况来讲,有以下原因造成无法采纳您的建议:
   1、到现在为止,我并没用通读。我写了多少文档,就读了多少代码。所以,我不知道其整体架构是什么样子的。之前也并没有研究过输入法的编写原理,所以对于原理也知之甚少。
   2、函数的注释是有的。对于简单函数为什么注释呢?见理由[1]
   3、关键语句的注释也是有的。为什么对于一个普通的语句也进行注释?见理由[2]

为什么注释那么详细呢?
     理由1、对于函数来讲,有些函数比较简单,但是我还是做了比较详细的注释,比如write_configures,但是,如果详细的注意一下,你就会发现,write_configures仅仅讲解了一个问题,那就是为什么需要在结构体中添加那个函数指针。有些函数,看似简单,但是却蕴含着有趣的道理。
     理由2、对于语句来讲,有些常规语句也做了较为详尽的注释。比如XEvent结构。还是那个原因,我是第一次阅读fcitx的源代码。之前对于linux下的图形编程知之甚少。但是,我在windows下应该又几十万行的编程历史了。所以,就编程经验来说,还是有一些了。但是,对于linux,是个绝对的新手。我想,很多国内的开发人员,应该和我一样吧。想在linux下编程,却始终不能入门。为什么呢?因为,我们发现windows下的那一套东西,放到这儿使用总是受挫,比如windows下最常用的sendmessage、DC的概念等等。自信心受到严重打击。这儿就是告诉我和其他和我一样的开发人员,在windows下的那一套在linux下是另外的包装。这些东西,对于熟悉的人来说,很简单。但是对于不了解的人却足以让其却步。因为,linux下的文档不想windows下那么统一。无论是man还是devhelp,抑或是网上的资料,都只有部分文档。所以,找起来也不那么容易。既然,我找到了。就索性做个索引吧。
    可以肯定,网上关于MFC的一些小技巧俯拾即是,但是linux下的,无论是qt还是gtk还是windgets全都非常罕见。为什么呢?一方面用的人少,但是更重要的是因为大家对于这些小技巧不重视。于是,造成每个新手都很痛苦的为了一个小问题,而去遍历完整的库文档。这样做,代价是不是很高呢?
回复 支持 反对

使用道具 举报

发表于 2008-4-1 22:06:54 | 显示全部楼层
我看了你的博客。

注释即文档,注释可以生成文档--应用程序编程接口(Application Programming Interface [color="Blue"]API)说明文档,当然,这要求注释按照固定的格式编写。
目前最常用的是[color="Blue"]javadoc格式,写完文档后,使用[color="Blue"]doxygen就可以生成文档了,这样你的注释才容易分发和传阅以达到知识的分享。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表