免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 7512 | 回复: 32
打印 上一主题 下一主题

感觉自己代码风格越来越不伦不类, 纠结... [复制链接]

论坛徽章:
3
15-16赛季CBA联赛之山东
日期:2016-10-30 08:47:3015-16赛季CBA联赛之佛山
日期:2016-12-17 00:06:31CU十四周年纪念徽章
日期:2017-12-03 01:04:02
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-07-03 00:55 |只看该作者 |倒序浏览

    RT.

    1. 最近写指针类型时, 养成另类风格, 总爱把"*"靠着类型写, 而不是靠着变量.
       我最近习惯的写法总是:
  1. void swap(int* v1, int* v2);
复制代码
大多数C程序员都更习惯下面这种风格(我以前也是习惯这种风格. 不知道哪天哪跟筋不对, 就用了上面哪种, 然后就开始习惯, 然后不那么写的时候总觉得有点儿不对劲... 到底要不要改回传统风格呢 ...):
  1. void swap(int *v1, int *v2);
复制代码
尤其是函数返回指针类型的时候...
  1. dlist* list_create(int size, pf_destroy_t dstr);
复制代码
把"*"号靠着类型总给我一种虚无的安全感(函数返回指针类型...), 而
  1. dlist *list_create(int size, pf_destroy_t dstr);
复制代码
却给我一种... 嗯,... 说不上来的感觉.


    2. Linux kernel代码的风格一致性, C程序员的固执, 绝对是变态级的. 当然他们的技术也是变态级的... 基本上, kernel中找不到一个以大写字母开头的类型定义(typedef struct _typeStruct {...} TypeStruct;这种), 他们所有的, 变量类型, 函数类型, 变量, 函数... 全部小写 -- 偶尔的宏例外. Linux的风格是单词单词之间用'_'连接, -- 基本上, 也找不到单词单词之间以大写字母标识的情况. 简而言之,
       linux风格:
  1. void apply_func(...);
复制代码
某种别的风格:
  1. void applyFunc(...);
复制代码
某段时间中过一阵子C++毒(现在差不多毒全消了...关于C++稍微麻烦点儿的东西我都忘光了罢..., 不过有点余毒尚在), C++的命名习惯给了我一些影响, 类名首字母大写, 方法, 字段以小写字母开头, 而且C++(很多应用层代码)多数时候使用的风格是单词单词之间以大写字母标识.
       所以现在写C代码的时候, 习惯了这样子:

  1.        typedef struct _darr {
  2.            void* data;
  3.            int   size;
  4.            int   length;
  5.            pf_destroy_t dstr;
  6.        } Darr;
  7.        ...
  8.        int darr_insert(Darr* thiz, int index, void* data);
复制代码
简单地说, 类型用首字母大写. 全局函数还是用linux风格. 而结构体里面的函数指针却喜欢使用字母字母间以大写字母标识的情况(不管什么字段, 首字母从来都是小写. 个人认为, 要是有谁把局部变量, 或者非宏的函数用首字母大写[呃,这个中枪的不少吧...], 简直就TMD是犯罪...)
---------------------------------------------------------------------------------------------------------

    总之... 不伦不类, 绝对另类... 自己写点儿不伦不类的小东西还好了, 自己看起来还觉得挺爽, 不过每次看到linux kernel代码就觉得, 艹...
    类型首字母大写这种习惯真的不想改..., 函数指针换成'func_xxx'还无所谓(艹, 有时候C++那些个方法命名真的超级长, 用'_'会有点儿不对劲的感觉了), 好吧, "*"靠类型也忍痛改了算了?...

----------------------------------------------------------------------------------------------------------

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
2 [报告]
发表于 2012-07-03 06:10 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:56:11
3 [报告]
发表于 2012-07-03 08:17 |只看该作者
typedef int* int_ptr;

怎么都行啊。

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
4 [报告]
发表于 2012-07-03 08:42 |只看该作者
我非常不喜欢大写字母。

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
5 [报告]
发表于 2012-07-03 09:23 |只看该作者
int * v1,两边都不靠,中庸之道

论坛徽章:
0
6 [报告]
发表于 2012-07-03 09:40 |只看该作者
captivated 发表于 2012-07-03 00:55
RT.

    1. 最近写指针类型时, 养成另类风格, 总爱把"*"靠着类型写, 而不是靠着变量.



*靠着类型好。逻辑清晰。

当初有人说*要靠着变量,那是为了一行里面声明多个变量。这是个很不靠谱的理由,因为一行里面通常不应该声明多个变量。

论坛徽章:
2
CU大牛徽章
日期:2013-04-17 11:46:28CU大牛徽章
日期:2013-04-17 11:46:39
7 [报告]
发表于 2012-07-03 09:41 |只看该作者
只要在一个项目代码中所有风格保持一致就好

当然用的最多的还是 K&R 风格啦,也看得最顺眼

论坛徽章:
0
8 [报告]
发表于 2012-07-03 10:48 |只看该作者
本帖最后由 wgm001 于 2012-07-03 10:48 编辑

喜欢内核风格的代码.
我写C++也不会用大写的, 接近boost风格.
国内多数是MFC程序员, 喜欢用匈牙利命名法, 大小写混用, 着实很垃圾...

论坛徽章:
0
9 [报告]
发表于 2012-07-03 12:31 |只看该作者


  • C偏向于linux内核,k&r风格。
  • C++偏向于ACE风格,类名用大小写+下划线,咋听觉的奇怪,但是我写两个:

ACEDevPollReactor
ACE_Dev_Poll_Reactor

应该大多数人一眼就能看出下面的更容易辨识、易读。。。

论坛徽章:
0
10 [报告]
发表于 2012-07-03 12:48 |只看该作者
*靠近类型,一行一个声明;
变量名函数名等,全使用小写字母+“_”;
编程时让人容易看懂,在键盘上容易敲打,时间都很宝贵。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP