|
发表于 2007-4-4 10:54:28
|
显示全部楼层
Post by realtang
1。缩进
8个字符的长度设置为缩进的长度。这样使得你的代码更加容易阅读,并且提醒你不要nest得过深。 4个字符的缩进好些,既容易阅读,又能有足够多的缩进层次。最好将TAB缩进转化为空格,这样在不同的阅读工具中都不会有问题。在vim中可以设置:
set tabstop=4
set expandtabPost by realtang
3。放置大括号
这方面我们遵从C程序员的老祖宗——Kernighan and Ritchie的风格。
采用这种方式的另外一个好处是,节省空间。我们不需要为单个的括号而占用一行的空间,要知道有些人会使用很小屏幕的终端观看代码,比如PDA用户。
上周我就在这栽了个跟头。我要改一个很老的代码,check out 原来的代码,删掉了很多地方,然后把几个接口函数改成新的,最后代码大致是这个样子:- ......
- 10 if (system_event_start (NULL) != SYSEVT_OK )
- 11 errlog (......);
- 12 return ERR_CONSYSEVT;
- 13 }
- ......
- 86 system_event_stop ();
- 87 free (...);
- 88 return ERR_NOERR;
- }
复制代码 注意我在改代码时把第10行最后的{删掉了,编译的错误信息是:- ledopd.c:86: warning: type defaults to `int' in declaration of `system_event_stop'
- ledopd.c:86: error: conflicting types for 'system_event_stop'
- /vobs/ggm-rel/sgw/source/build/target/include/system_event.h:186: error: previous declaration of 'system_event_stop' was here
- ledopd.c:86: error: conflicting types for 'system_event_stop'
- /vobs/ggm-rel/sgw/source/build/target/include/system_event.h:186: error: previous declaration of 'system_event_stop' was here
- ledopd.c:86: warning: data definition has no type or storage class
- ledopd.c:88: error: parse error before "return"
复制代码 我花了两个多小时在google上也没找到真正的原因。最后下班回家,第二天早上再看代码,一眼看到第10行少了个括号。。。
所以我还是把括号放到一行吧,呵呵。 |
|