*这个跟Doxygen 的格式最好一致。* * * *我所有的doc都是基于doxygen,自动生成文档。* * * *我觉得各位应该去看看doxygen的代码规范。 * 2011/3/12 Mike Ma <zhtx10@xxxxxxxxx> > 于 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. > > > -- ** * Best Regards, Devil Wang *