于 2011年03月12日 22:29, Mike Ma 写道: > 回复此邮件进行讨论。 > 最后将达成共识的内容写入Wiki。 在这里抛砖引玉,有更好的方法当然欢迎,趁现在还比较早 代码基本格式: 按目前的代码格式,应该是这样的: /* function_name: @arg1: @arg2: function_name() doesn't do anything. Return value: */ return_type function_name (arg_type arg1, arg_type arg2) { if (arg1) { while (arg2) { --arg2; } } return (return_type)0; } 基本格式按K&R格式(Emacs文档里这么叫就这么写吧) 每四格代码按一个tab缩进(Emacs自动处理文件首行的那个格式说明,Vim不知道) 因为thunderbird的格式化这里是4空格,貌似用tab能省下一些字节? 代码风格认为TAOUP的说明很好,不知道大家怎么认为? 函数名按C和UNIX/LINUX库的常用格式 let_us_do_someting (); 括号和上一个字符之间留一个空格(不知不觉就养成这习惯了,以前我好像不喜欢 这么做,貌似能好看一点,这样吧,在注释里面不留空格,不然#就 解析不到()了) GUI主题,看GTK+能不能直接拓展了,现在还不太了解 目标是可移植、易拓展(比如一些协议有更多功能要在GUI上增加一些组件) 最终支持三大主流平台 Linux - Microsoft Windows(XP及以上) - Mac OS X 关于GObject的接口用Vala做可以省点力气(直接拓展成gobject的xxxobj_new()这 样的格式) 至少如果引入了VALA,C++就不能用了=== vala不能处理C++接口,除非不用OO,再 加上extern "C" {} 先总结一些。大家有更好的发上来,不管是关于功能的、代码的、GUI的,都发上 来吧,越详尽越好。 -- Mike. Blog: http://ekd123.org/ Fedora Project Contributor - Translator.