- 论坛徽章:
- 3
|
RT.
1. 最近写指针类型时, 养成另类风格, 总爱把"*"靠着类型写, 而不是靠着变量.
我最近习惯的写法总是:- void swap(int* v1, int* v2);
复制代码 大多数C程序员都更习惯下面这种风格(我以前也是习惯这种风格. 不知道哪天哪跟筋不对, 就用了上面哪种, 然后就开始习惯, 然后不那么写的时候总觉得有点儿不对劲... 到底要不要改回传统风格呢 ...):- void swap(int *v1, int *v2);
复制代码 尤其是函数返回指针类型的时候...- dlist* list_create(int size, pf_destroy_t dstr);
复制代码 把"*"号靠着类型总给我一种虚无的安全感(函数返回指针类型...), 而- dlist *list_create(int size, pf_destroy_t dstr);
复制代码 却给我一种... 嗯,... 说不上来的感觉.
2. Linux kernel代码的风格一致性, C程序员的固执, 绝对是变态级的. 当然他们的技术也是变态级的... 基本上, kernel中找不到一个以大写字母开头的类型定义(typedef struct _typeStruct {...} TypeStruct;这种), 他们所有的, 变量类型, 函数类型, 变量, 函数... 全部小写 -- 偶尔的宏例外. Linux的风格是单词单词之间用'_'连接, -- 基本上, 也找不到单词单词之间以大写字母标识的情况. 简而言之,
linux风格:某种别的风格:某段时间中过一阵子C++毒(现在差不多毒全消了...关于C++稍微麻烦点儿的东西我都忘光了罢..., 不过有点余毒尚在), C++的命名习惯给了我一些影响, 类名首字母大写, 方法, 字段以小写字母开头, 而且C++(很多应用层代码)多数时候使用的风格是单词单词之间以大写字母标识.
所以现在写C代码的时候, 习惯了这样子:
- typedef struct _darr {
- void* data;
- int size;
- int length;
- pf_destroy_t dstr;
- } Darr;
- ...
- int darr_insert(Darr* thiz, int index, void* data);
复制代码 简单地说, 类型用首字母大写. 全局函数还是用linux风格. 而结构体里面的函数指针却喜欢使用字母字母间以大写字母标识的情况(不管什么字段, 首字母从来都是小写. 个人认为, 要是有谁把局部变量, 或者非宏的函数用首字母大写[呃,这个中枪的不少吧...], 简直就TMD是犯罪...)
---------------------------------------------------------------------------------------------------------
总之... 不伦不类, 绝对另类... 自己写点儿不伦不类的小东西还好了, 自己看起来还觉得挺爽, 不过每次看到linux kernel代码就觉得, 艹...
类型首字母大写这种习惯真的不想改..., 函数指针换成'func_xxx'还无所谓(艹, 有时候C++那些个方法命名真的超级长, 用'_'会有点儿不对劲的感觉了), 好吧, "*"靠类型也忍痛改了算了?...
----------------------------------------------------------------------------------------------------------
|
|