Chinaunix

标题: 遇到一个喜欢用全局变量的老大 [打印本页]

作者: koolcoy    时间: 2010-06-02 12:02
标题: 遇到一个喜欢用全局变量的老大
日了都,操,md{:3_183:} {:3_197:}还tmd北大的研究生呢f@ck
作者: koolcoy    时间: 2010-06-02 12:05
丫的每次做代码审查的时候都批老子一顿,说老子没用全局变量。ffffffuuuuuuccccccckkkkkkk
作者: pandaiam    时间: 2010-06-02 12:24

作者: ccjsj1    时间: 2010-06-02 12:31

作者: solu    时间: 2010-06-02 12:34
你顺便说说用全局变量有哪些优缺点,这贴就更有意义了
作者: prolj    时间: 2010-06-02 12:34
C++万寿无疆,让Y去全局深层拷贝class吧。
作者: daybreakcx    时间: 2010-06-02 12:46
怎么看都觉得这个帖子有喜感,我忍不住敲一下
作者: rain_fish    时间: 2010-06-02 12:46
他用全局变量的理由是什么呢?
作者: mirnshi    时间: 2010-06-02 12:47
脾气够大的。换个角度,都按照老大的要求做,又能怎么样呢,出了问题,有人兜着,不是很好嘛
作者: egmkang    时间: 2010-06-02 12:57

我写了一个程序,里面有很多全局变量(就是那种文件里面的static变量,没办法啊,窗口只有一个),我看着也蛮清楚的
作者: rain_fish    时间: 2010-06-02 13:05
也是,不能绝对不用全局变量,否则也太较真了。。
作者: hellioncu    时间: 2010-06-02 13:21
具体情况具体分析
作者: tajial    时间: 2010-06-02 14:00
能不用的坚决不用
作者: fender0107401    时间: 2010-06-02 14:16
太刺激了! {:3_188:}
作者: zwjwelch    时间: 2010-06-02 14:34
用全局变量怎么了?
作者: ecjtubaowp    时间: 2010-06-02 14:41
用全局变量挺好的啊,不知道吗?
作者: koolcoy    时间: 2010-06-02 14:43
用全局变量怎么了?
zwjwelch 发表于 2010-06-02 14:34



    "用全局变量"跟"喜欢用全局变量"是两回事。{:3_185:}
作者: koolcoy    时间: 2010-06-02 14:45
我并不是完全反对全局变量,但是如果写啥都优先使用全局变量,然后搞得全局变量满天飞就比较xx了{:3_182:}
作者: curse    时间: 2010-06-02 14:48
感觉搂住是在装B,背后别说人短,都还骂到cu来了。
作者: fender0107401    时间: 2010-06-02 14:49
不知道那个喜欢用全局变量的北大研究生上不上CU,

要是他看见这个帖子会不会好好打击报复lz一下呢。 {:3_189:}
作者: tinysniper    时间: 2010-06-02 14:51

作者: wsw1wsw2    时间: 2010-06-02 15:35
不知道那个喜欢用全局变量的北大研究生上不上CU,

要是他看见这个帖子会不会好好打击报复lz一下呢。 {:3 ...
fender0107401 发表于 2010-06-02 14:49



    我也是正担心这个,,,
作者: 没本    时间: 2010-06-02 15:38
C程序用全局变量是很常见的啊,当然我是说写应用,写驱动除外。
C++如果用全局对象,就有初始化的次序问题了,不推荐。
如果是多线程程序,那还是尽量少用全局变量。
历史原因,UNIX C程序以多进程的为主,用全局省事。
作者: pmerofc    时间: 2010-06-02 16:21
提示: 作者被禁止或删除 内容自动屏蔽
作者: smalloc    时间: 2010-06-02 16:49
回复 20# fender0107401


    见19楼.
作者: star1983653    时间: 2010-06-02 16:58
难道19楼就是传说中的.....
作者: fender0107401    时间: 2010-06-02 17:03
19楼?


作者: toniz    时间: 2010-06-02 17:04
感觉楼主要悲剧。。。
作者: linuxlixk    时间: 2010-06-02 17:12
19楼
作者: curse    时间: 2010-06-02 17:21
19楼个毛,我又不是他领导。
我只是看不惯搂住这种做人的方式,换个马甲,嘿嘿。
作者: 光速    时间: 2010-06-02 17:43
可能是站在不同的角度看待问题。
作者: OwnWaterloo    时间: 2010-06-02 17:50
丫的每次做代码审查的时候都批老子一顿,说老子没用全局变量。
koolcoy 发表于 2010-06-02 12:05


楼下回复前请看原帖, 谢谢。
作者: peidright    时间: 2010-06-02 17:57
主要的一些结构, 用全局变量勾勒框架,也是可以的把。
作者: OwnWaterloo    时间: 2010-06-02 17:58
我想问的是:
代码审查, 是他一个人审查还是多人一起?
如果是多人一起审查, 代码好坏的标准是他一个人说了算?
作者: peidright    时间: 2010-06-02 18:01
回复 33# peidright


    北大的本科还可以,读研,已经堕落了。
作者: c/unix    时间: 2010-06-02 18:03
提示: 作者被禁止或删除 内容自动屏蔽
作者: 没本    时间: 2010-06-02 18:41
北大的研究生与北大本科生不一定是继承关系。本科生总体来说素质比较平均,当然也有少数比较优秀和比较菜的。研究生的质量就参差不齐了,好些甚至是读的其他专业本科,基础差一点可以理解。
作者: vbs100    时间: 2010-06-02 18:46
他是因为上了北大才用了全局变量还是因为用了全局变量才上的北大? 楼主明示
作者: zhyclt    时间: 2010-06-02 19:13
LS所说才是问题的关键
作者: c/unix    时间: 2010-06-02 19:15
提示: 作者被禁止或删除 内容自动屏蔽
作者: sbc19861004    时间: 2010-06-02 19:39
楼下准备讨论北大的教育,一定要故事继续下去
作者: rain_fish    时间: 2010-06-02 19:54
不知道那个喜欢用全局变量的北大研究生上不上CU,

要是他看见这个帖子会不会好好打击报复lz一下呢。 {:3 ...
fender0107401 发表于 2010-06-02 14:49


呵呵,有道理,担心lz了。。。
作者: rain_fish    时间: 2010-06-02 19:55
回复  peidright


    北大的本科还可以,读研,已经堕落了。
peidright 发表于 2010-06-02 18:01



哥们儿,说的有点过了啊。。。
作者: rain_fish    时间: 2010-06-02 19:56
此贴必火。。。。。。
作者: Panizzi    时间: 2010-06-02 21:48
其实故事是这样的:他的导师比较喜欢全局变量{:3_188:}
作者: mirnshi    时间: 2010-06-02 22:36
他是因为上了北大才用了全局变量还是因为用了全局变量才上的北大? 楼主明示
vbs100 发表于 2010-06-02 18:46



作者: masonzhang    时间: 2010-06-02 23:07
他是因为上了北大才用了全局变量还是因为用了全局变量才上的北大? 楼主明示
vbs100 发表于 2010-06-02 18:46



作者: Magic_LP    时间: 2010-06-02 23:35
内部消息:北大研究生面试题之一“你喜欢用全局变量吗?”
你要回答不喜欢,那你悲剧了。。。
作者: Purple_Grape    时间: 2010-06-03 00:21
偶是打酱油的,路过贵地,,,
作者: sara550    时间: 2010-06-03 00:26
回复  peidright


    北大的本科还可以,读研,已经堕落了。
peidright 发表于 2010-06-02 18:01

北大软件学院研究生???
"名声"很大!
作者: pandaiam    时间: 2010-06-03 12:18
太欢乐了。
作者: ypyf3000    时间: 2010-06-03 12:47
不要害怕使用全局变量,在效率要求很高的情况下是个不错的选择
作者: pmerofc    时间: 2010-06-03 12:52
提示: 作者被禁止或删除 内容自动屏蔽
作者: koolcoy    时间: 2010-06-03 14:09
建议喜欢用全局变量的同学了解一下haskell,然后再了解一下haskell有啥好处。{:3_195:}
作者: ypyf3000    时间: 2010-06-03 14:36
回复 53# pmerofc


    你回帖的效率肯定比C语言搞得多
作者: liexusong    时间: 2010-06-03 14:39
全局变量也不是一点用都没有的, 好像linux也用了不少的全局变量啊!
作者: 没本    时间: 2010-06-03 14:48
只写一个main(),    除了if和goto不使用任何控制语句,效率更高
pmerofc 发表于 2010-06-03 12:52



    main()里面只用顺序执行不用分支语句,利用表格编程实现条件语句,效率更更高。
作者: BMW_325i    时间: 2010-06-03 15:47
此帖真的火了!!我来加点油!!呵呵…………
作者: pmerofc    时间: 2010-06-03 16:13
提示: 作者被禁止或删除 内容自动屏蔽
作者: pmerofc    时间: 2010-06-03 16:20
提示: 作者被禁止或删除 内容自动屏蔽
作者: chinesedragon    时间: 2010-06-03 16:36
哈哈,用用又何妨?、
作者: chinesedragon    时间: 2010-06-03 16:39
全局变量不是给人用的?????????/
作者: pmerofc    时间: 2010-06-03 17:28
提示: 作者被禁止或删除 内容自动屏蔽
作者: 没本    时间: 2010-06-03 17:32
回复 60# pmerofc


    用无分支的判断执行指令就行了,例如 CMPXCHG CMPXCHG8B CMOVcc指令系列。由于经过的指令都顺序/乱序执行了,CPU流水线就不会遇到因分支预测失败而损失时钟周期。
作者: pmerofc    时间: 2010-06-03 17:52
提示: 作者被禁止或删除 内容自动屏蔽
作者: zhaohongjian000    时间: 2010-06-03 17:59
可能楼主暗示 “喜欢用全局变量”  不是好事 刺痛了某些人的心?

另外某些同学说人坏话的时候都是当面说?厉害,我可不敢这么干。
作者: axlrose    时间: 2010-06-03 19:00

火贴必顶
作者: rain_fish    时间: 2010-06-03 19:40
不为别的,顶之。。。。
作者: kelela    时间: 2010-06-03 19:50
其实,我就是进来凑个热闹。。。
当年毕业设计就用了几个全局变量{:3_189:}
作者: c/unix    时间: 2010-06-03 19:50
提示: 作者被禁止或删除 内容自动屏蔽
作者: 奶茶dsk    时间: 2010-06-03 20:09
全局变量,外部变量,阁下是变魔术的吧
c/unix 发表于 2010-06-03 19:50



    不是魔术,确实只有external variable
作者: pmerofc    时间: 2010-06-03 21:04
提示: 作者被禁止或删除 内容自动屏蔽
作者: c/unix    时间: 2010-06-03 21:31
提示: 作者被禁止或删除 内容自动屏蔽
作者: snriyt    时间: 2010-06-03 22:59
参观
作者: ypyf3000    时间: 2010-06-04 06:45
首先,在C语言中根本就没有全局变量这个概念,只有外部变量
外部变量当然是给人用的,就象goto语句也是 ...
pmerofc 发表于 2010-06-03 17:28



    我看你除了咬文嚼字,没别的本事了。
作者: ypyf3000    时间: 2010-06-04 08:17
你明显是无话可说才顾左右言其他
    逃避躲闪的效率天下第一
    佩服
pmerofc 发表于 2010-06-03 16:13



    你除了玩文字游戏还会什么?
作者: indure    时间: 2010-06-04 08:22
回复 1# koolcoy

适当的应用全局变量尤其对C来说,可以减少函数的参数,从而减少调用时栈操作消耗,从而提高性能。
作者: rain_fish    时间: 2010-06-04 08:22
中庸之道。。。
作者: c/unix    时间: 2010-06-04 08:43
提示: 作者被禁止或删除 内容自动屏蔽
作者: chinesedragon    时间: 2010-06-04 09:59
本帖最后由 chinesedragon 于 2010-06-04 10:00 编辑
首先,在C语言中根本就没有全局变量这个概念,只有外部变量
pmerofc 发表于 2010-06-03 17:28



    老兄,为什么你会这样说呢,给你一个参考http://blog.csdn.net/ts_54eagle/archive/2009/08/06/4418627.aspx
作者: xiayutian41    时间: 2010-06-04 10:05
14.        江苏诚迈科技有限公司专注于移动设备软件的研发服务,秉承勤奋、创新、严谨、诚信的企业文化
作者: xiayutian41    时间: 2010-06-04 10:07
15.        江苏诚迈科技有限公司在软件外包领域努力开拓,早日进入中国软件外包企业的第一阵营
作者: xiayutian41    时间: 2010-06-04 10:09
江苏诚迈科技有限公司在软件外包领域努力开拓,早日进入中国软件外包企业的第一阵营good
作者: peidright    时间: 2010-06-04 10:16
{:3_199:},都用void * fuck(void *) 么?
作者: srdgame    时间: 2010-06-04 11:25
{:3_190:}{:3_190:}{:3_190:}{:3_190:} 基本全局的我都做成了singleton.. 我承认我很弱。。
作者: zy31887493    时间: 2010-06-04 11:35
提示: 作者被禁止或删除 内容自动屏蔽
作者: etoux    时间: 2010-06-04 13:41
全局变量恼人
作者: rain_fish    时间: 2010-06-04 14:06
哈哈哈哈。。。
作者: ypyf3000    时间: 2010-06-04 14:51
本帖最后由 ypyf3000 于 2010-06-04 14:57 编辑
兄弟,不要说的那么明显吗?其实他是在搞常识普及教育。
c/unix 发表于 2010-06-04 08:43



    要杀一杀他的这种歪风邪气。我公司要有这样的技术人员坚决予以辞退。这种人除了耍嘴皮子,引经据典,故弄玄虚之外,没有别的真本事,还带坏了小朋友。技术不是这么学的,我要奉劝他一下。再送他两个字——矫情

顺便再反问他几句:什么叫C语言没有全局变量的概念?外部变量不是全局的难道还是本地的?
作者: 奶茶dsk    时间: 2010-06-04 15:17
回复 89# ypyf3000

c99
    F.8.1 Global transformations
1 Floating-point arithmetic operations and external function calls may entail side effects
which optimization shall honor, at least where the state of the FENV_ACCESS pragma is
‘‘on’’. The flags and modes in the floating-point environment may be regarded as global
variables; floating-point operations (+, *, etc.) implicitly read the modes and write the
flags.


搜索了下c99,,这就是唯一出现所谓的全局变量的地方,楼上说的是这个?
作者: 奶茶dsk    时间: 2010-06-04 15:27
回复 89# ypyf3000


    外部变量不是全局的难道还是本地的?


tcpl
4.6 Static Variables
The variables sp and val in stack.c, and buf and bufp in getch.c, are for the private use of
the functions in their respective source files, and are not meant to be accessed by anything else.
The static declaration, applied to an external variable or function, limits the scope of that
object to the rest of the source file being compiled. External static thus provides a way to
hide names like buf and bufp in the getch-ungetch combination, which must be external so
they can be shared
, yet which should not be visible to users of getch and ungetch.


看明白没,,the rest of,,,,,,何来全局,
作者: ypyf3000    时间: 2010-06-04 16:06
回复  ypyf3000

c99


搜索了下c99,,这就是唯一出现所谓的全局变量的地方,楼上说的是这个?
奶茶dsk 发表于 2010-06-04 15:17



    既然你们要死扣标准的字面文本,那你也应该去标准上找出“外部变量”这四个汉字出来。
作者: OwnWaterloo    时间: 2010-06-04 16:17
既然你们要死扣标准的字面文本,那你也应该去标准上找出“外部变量”这四个汉字出来
ypyf3000 发表于 2010-06-04 16:06


如果说你前面的帖只是在表现你的无知, 那么这个帖就是在表现你的无赖。
作者: ypyf3000    时间: 2010-06-04 16:22
如果说你前面的帖只是在表现你的无知, 那么这个帖就是在表现你的无赖。
OwnWaterloo 发表于 2010-06-04 16:17



谁无知?    连全局变量都不承认的是什么的人?你没资格谈C语言
作者: ypyf3000    时间: 2010-06-04 16:23
如果说你前面的帖只是在表现你的无知, 那么这个帖就是在表现你的无赖。
OwnWaterloo 发表于 2010-06-04 16:17



    你倒是有本事,这上面自以为是的人太多了,这就是CU
作者: pandaiam    时间: 2010-06-04 16:24
天,这也能吵起来。。
都是一个意思。
作者: ypyf3000    时间: 2010-06-04 16:26
天,这也能吵起来。。
都是一个意思。
pandaiam 发表于 2010-06-04 16:24



    是啊,有些事情他们明明知道的,却总是装出一副专家的模样来指指点点,除了显示自己的与众不同之外,不知道还能做什么。
作者: OwnWaterloo    时间: 2010-06-04 16:29
pmerofc早就给你下了评语:
你明显是无话可说才顾左右言其他
    逃避躲闪的效率天下第一
    佩服
pmerofc 发表于 2010-06-03 16:13


自己反省反省吧。

当然, 这种话对无赖而言, 说了也是白说。
你还是继续耍你的无赖好了。
作者: ypyf3000    时间: 2010-06-04 16:32
pmerofc早就给你下了评语:


自己反省反省吧。

当然, 这种话对无赖而言, 说了也是白说。
你还是继 ...
OwnWaterloo 发表于 2010-06-04 16:29



    他到现在都没正面回答我的问题,这又怎么讲?
作者: OwnWaterloo    时间: 2010-06-04 16:33
你倒是有本事,这上面自以为是的人太多了,这就是CU
ypyf3000 发表于 2010-06-04 16:23


拿无知当个性的人太多, 这才是CU。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2