日期:2014-05-17  浏览次数:21114 次

版主们来帮我看看关于全局变量重复声明的问题
程序有两个大功能A,B,两个功能除了一个全局变量int SET以外无任何联系,SET需要实时更新。A和B都分别统一命名,为了方便使用,我声明了两个变量ASET和BSET,当需要更新时直接传值就可以了,但同事说变量重复声明了,要我统一。我想来想去还是觉得分开比较好,这样我写功能B就不用考虑会不会影响A了,思路更加清晰!
纠结就是要不要听同事的呢?权衡利弊,到底哪种方式好呢?
重复 全局变量

------解决方案--------------------
如果是ASET和BSET,肯定不会提示重复,所以还是你代码有问题
------解决方案--------------------
能用一个变量就用一个变量,
------解决方案--------------------
你声明了两个不一样的变量,怎么会提示重复声明?
------解决方案--------------------
要是A、B可以同时操作那个变量的话(不管是修改还是取值做运算),还是考虑下用线程吧
------解决方案--------------------
只要不是public的,就是说那变量不共享的,而且同一个功能,还是用同个变量名吧,毕竟功能是分开的,对于看代码,维护还是方便点,至少别人看了舒服。
------解决方案--------------------
说实话,你的问题是面向过程的思维模式下才可能出现的

C#是面向对象的

A、B若是在一个对象内,定义一个类变量就好了

A、B若不是在一个对象内,那可能要各定义自己的一个类变量,但可以同名


------解决方案--------------------
引用:
Quote: 引用:

能用一个变量就用一个变量,
为什么呢?说说利弊撒

如果这2个变量始终取一样的值,就一个就行,说大了就是变量多了会增加内存开销,影响速度。
------解决方案--------------------
把 a b 程序 用到相同的东西提取到一个类中,在用的时候给这个类的属性赋值 在取值得时候 也取这个类属性的值
------解决方案--------------------
我做的 是 一个程序 两个 相同的窗口 因为 这两个窗口 实现的功能 基本一样所以 把他们 相同的东西 都 提到 一个 类中 包括 控件 ,这样 实现了 通用 避免了 冗余 代码
------解决方案--------------------
引用:
Quote: 引用:

如果是ASET和BSET,肯定不会提示重复,所以还是你代码有问题


引用:
你声明了两个不一样的变量,怎么会提示重复声明?
我的意思是这两个变量表示一个含义

如果像你这样为什么不用一个就好了?功能可以写不同方法调用的嘛
------解决方案--------------------
引用:
我做的 是 一个程序 两个 相同的窗口 因为 这两个窗口 实现的功能 基本一样所以 把他们 相同的东西 都 提到 一个 类中 包括 控件 ,这样 实现了 通用 避免了 冗余 代码


那就应只有一个变量放公共类里, 不会是同名的两个变量,更不能连名字都不一样。
------解决方案--------------------
A、B在肯定不会同时执行的情况下,是可以共用一个变量的,如果多标签页操作,A操作到一半就切换到B操作的页面的情况,就不可以共用。
在可以共用一个变量的情况下,尽量不要分开定义,这是为了方便记忆,也许你认为自己思路更加清晰,但会导致要记忆的变量名增多,后期看代码会比较吃力(在变量匹配上面)。