[gqq] Re: 代码规范的讨论与起草

  • From: Mike Ma <zhtx10@xxxxxxxxx>
  • To: gqq@xxxxxxxxxxxxx
  • Date: Sat, 12 Mar 2011 23:33:32 +0800

于 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.


Other related posts: