全局变量通过函数形参进行传递有什么好处?

2019-08-19 16:58发布

看了公司前任工程师写的代码工程(现在那个工程师已经离职).有一点让我感觉很奇怪...
明明是全局变量,假设此时有个Func()函数,明明就可以函数内就可以直接使用这个全局变量,他非要使用个Func(int XXX)通过形参的方式将这个全局变量传递到函数体内,
小弟不才,实在想不出这样写有什么好处...
仅仅是为了降低函数之间的耦合度,还是说有其它优点,恳请指教...
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
feilusia
1楼-- · 2019-08-19 21:55
我百度上看过有一个汽车品牌的刹车失灵bug,就是代码中有大量的全局变量存在导致的。
另外,通过形参的方式来写,每个工程师可以写自己独立的驱动,而不是耦合性很高的代码。

LZ可以参考我写的代码,我写的代码很方便移植。
http://blog.csdn.net/feilusia/article/category/6463745
诸葛亮的哥哥
2楼-- · 2019-08-20 03:40
 精彩回答 2  元偷偷看……
liuchang
3楼-- · 2019-08-20 04:28
诸葛亮的哥哥 发表于 2017-3-18 16:51
如果直接使用是不是如果在函数周期内发生了中断之类的改变了这个全局变量的值,比如if(a!=0)满足以后a被改 ...

有道理
d1z1y2
4楼-- · 2019-08-20 10:07
通过传参来使用当然有好处啊,你可以想象一下以下情况:一个工程有几十个.c文件,程序变大了以后,连你都不知道在哪个地方把全局变量给改了,通过传参的话,就能把控全局变量的使用,我一般都尽量少用全局变量,如果实在要用,也是通过传参,各.c文件之间就专门写一个Set()函数来修改全局变量,
有些公司的程序不是一个工程师写的,各人负责各人的模块部分代码,各模块代码之间没有关联,所以联系都通过接口函数来操作,没必须开放的底层函数全部对外部屏蔽,其实这个可以参考C++的类,就是这个原理,遵守内敛性、易读性、可维护性、健壮性、易移植性等原则
liuchang
5楼-- · 2019-08-20 14:15
d1z1y2 发表于 2017-3-18 18:31
通过传参来使用当然有好处啊,你可以想象一下以下情况:一个工程有几十个.c文件,程序变大了以后,连你都不 ...

谢谢大神指教
操作系统
6楼-- · 2019-08-20 18:03
C++玩多了吧.呵呵...

一周热门 更多>