免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: jueshidouzi
打印 上一主题 下一主题

[C] 大家谈谈自己的看法 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2012-10-29 11:38 |只看该作者
回复 2# hellioncu
可是觉得也实在太多了,虽然这个代码是单线程了,但是全局变量多了毕竟影响逻辑跟流程的模块化啊。这么多全局的,阅读相当费劲啊

   

论坛徽章:
1
CU大牛徽章
日期:2013-03-14 14:08:55
12 [报告]
发表于 2012-10-29 11:59 |只看该作者
内存不花钱吗?

论坛徽章:
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
13 [报告]
发表于 2012-10-29 12:10 |只看该作者
jueshidouzi 发表于 2012-10-29 11:38
回复 2# hellioncu
可是觉得也实在太多了,虽然这个代码是单线程了,但是全局变量多了毕竟影响逻辑跟流程 ...



你给出这些数据,让我们来说代码有多烂,对你来说有什么意义呢,难道你能拿给领导说代码太烂,我不看了?
另外也存在某种可能,虽然全局变量多,函数长,但组织得好,有一定规律性,看一部分代码之后,其余的瞄一眼就能明白什么意思,也可以认为是好代码。

论坛徽章:
59
2015年亚洲杯之约旦
日期:2015-01-27 21:27:392015年亚洲杯之日本
日期:2015-02-06 22:09:41拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015元宵节徽章
日期:2015-03-06 15:50:392015年亚洲杯之阿联酋
日期:2015-03-19 17:39:302015年亚洲杯之中国
日期:2015-03-23 18:52:23巳蛇
日期:2014-12-14 22:44:03双子座
日期:2014-12-10 21:39:16处女座
日期:2014-12-02 08:03:17天蝎座
日期:2014-07-21 19:08:47
14 [报告]
发表于 2012-10-29 12:26 |只看该作者
回复 6# bruceteen


    哈哈,我先想好架构,再写,尽量留扩展接口。
万一要大改,则说: 如此要改架构,要动的地方有xxx, 要Xxx时间,还要不要改?

论坛徽章:
59
2015年亚洲杯之约旦
日期:2015-01-27 21:27:392015年亚洲杯之日本
日期:2015-02-06 22:09:41拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015元宵节徽章
日期:2015-03-06 15:50:392015年亚洲杯之阿联酋
日期:2015-03-19 17:39:302015年亚洲杯之中国
日期:2015-03-23 18:52:23巳蛇
日期:2014-12-14 22:44:03双子座
日期:2014-12-10 21:39:16处女座
日期:2014-12-02 08:03:17天蝎座
日期:2014-07-21 19:08:47
15 [报告]
发表于 2012-10-29 12:31 |只看该作者
回复 11# jueshidouzi


    对,全局变量(除了锁)应当是0,类的成员则要最少。
其它信息通过函数参数(这样函数调用本身指明了数据流向)

如果所有代码都是如此,我可以接受没有一行注释。。。

事实上我的代码也是这样写的,代码极少注释。 每个函数都有注释,包括功能和接口说明 (各个参数的意义,返回值的意义)

论坛徽章:
0
16 [报告]
发表于 2012-10-29 12:43 |只看该作者
回复 13# hellioncu
言重了,倒是没有这个意思。只是现在看的比较辛苦,发发牢骚。因为太多的全局变量真的很影响阅读,举个例子,假如有全局变量a;
if(a 怎样怎样){do_something();a=111;}如果不把这代码之前的代码看一看,就不知道这个a是在那里改变的,如果do_something里又在改变它,这就阅读起来费劲了。我现在目前就是这种境况,还有就是有的函数会把这个全局变量作为参数传进去,然后再把这个参数又赋值给那个全局变量。真的是看的超辛苦啊

   

论坛徽章:
0
17 [报告]
发表于 2012-10-29 12:49 |只看该作者
回复 15# folklore
我也极赞成这样写。如果非要需要共享的数据的话,可以提供专门的接口,想访问这些共享数据,只能使用专有接口才可以。如果是多线程,则可以在接口内实现线程安全。

   

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
18 [报告]
发表于 2012-10-29 13:00 |只看该作者
folklore 发表于 2012-10-29 12:31
回复 11# jueshidouzi
其它信息通过函数参数(这样函数调用本身指明了数据流向)


突然悟到,C++不找人待见的原因,容易不受限制的使用类全局变量,大家都觉得烦。

人们对类全局变量太宽容,自增痛苦啊

论坛徽章:
59
2015年亚洲杯之约旦
日期:2015-01-27 21:27:392015年亚洲杯之日本
日期:2015-02-06 22:09:41拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015元宵节徽章
日期:2015-03-06 15:50:392015年亚洲杯之阿联酋
日期:2015-03-19 17:39:302015年亚洲杯之中国
日期:2015-03-23 18:52:23巳蛇
日期:2014-12-14 22:44:03双子座
日期:2014-12-10 21:39:16处女座
日期:2014-12-02 08:03:17天蝎座
日期:2014-07-21 19:08:47
19 [报告]
发表于 2012-10-29 13:11 |只看该作者
回复 18# 群雄逐鹿中原

对,说的就是这个意思。
    类成员变量不是用来传信息,它是类本身的状态(最优目标是无状态,无状态的系统是最易理解和维护,和外界交互最少)。
用来传信息则除了只能说是符合语法外,没有其它任何可取之处了。

论坛徽章:
0
20 [报告]
发表于 2012-10-29 13:16 |只看该作者
都说要写多好多优美的代码,可是每个人的代码随着时间都会变成一坨狗屎,洗洗睡吧,能跑能用的代码就是好的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP