版主们来帮我看看关于全局变量重复声明的问题

公西雒 2013-11-26 10:52:47
程序有两个大功能A,B,两个功能除了一个全局变量int SET以外无任何联系,SET需要实时更新。A和B都分别统一命名,为了方便使用,我声明了两个变量ASET和BSET,当需要更新时直接传值就可以了,但同事说变量重复声明了,要我统一。我想来想去还是觉得分开比较好,这样我写功能B就不用考虑会不会影响A了,思路更加清晰!
纠结就是要不要听同事的呢?权衡利弊,到底哪种方式好呢?
...全文
244 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
qldsrx 2013-11-26
  • 打赏
  • 举报
回复
A、B在肯定不会同时执行的情况下,是可以共用一个变量的,如果多标签页操作,A操作到一半就切换到B操作的页面的情况,就不可以共用。 在可以共用一个变量的情况下,尽量不要分开定义,这是为了方便记忆,也许你认为自己思路更加清晰,但会导致要记忆的变量名增多,后期看代码会比较吃力(在变量匹配上面)。
rtdb 2013-11-26
  • 打赏
  • 举报
回复
引用 14 楼 l397870376 的回复:
我做的 是 一个程序 两个 相同的窗口 因为 这两个窗口 实现的功能 基本一样所以 把他们 相同的东西 都 提到 一个 类中 包括 控件 ,这样 实现了 通用 避免了 冗余 代码
那就应只有一个变量放公共类里, 不会是同名的两个变量,更不能连名字都不一样。
Regan-lin 2013-11-26
  • 打赏
  • 举报
回复
引用 5 楼 danding_ge 的回复:
[quote=引用 2 楼 bdmh 的回复:] 如果是ASET和BSET,肯定不会提示重复,所以还是你代码有问题
引用 4 楼 u011130289 的回复:
你声明了两个不一样的变量,怎么会提示重复声明?
我的意思是这两个变量表示一个含义[/quote] 如果像你这样为什么不用一个就好了?功能可以写不同方法调用的嘛
_小黑_ 2013-11-26
  • 打赏
  • 举报
回复
我做的 是 一个程序 两个 相同的窗口 因为 这两个窗口 实现的功能 基本一样所以 把他们 相同的东西 都 提到 一个 类中 包括 控件 ,这样 实现了 通用 避免了 冗余 代码
_小黑_ 2013-11-26
  • 打赏
  • 举报
回复
把 a b 程序 用到相同的东西提取到一个类中,在用的时候给这个类的属性赋值 在取值得时候 也取这个类属性的值
wind_cloud2011 2013-11-26
  • 打赏
  • 举报
回复
引用 6 楼 danding_ge 的回复:
引用 3 楼 happy09li 的回复:
能用一个变量就用一个变量,
为什么呢?说说利弊撒
如果这2个变量始终取一样的值,就一个就行,说大了就是变量多了会增加内存开销,影响速度。
rtdb 2013-11-26
  • 打赏
  • 举报
回复
说实话,你的问题是面向过程的思维模式下才可能出现的 C#是面向对象的 A、B若是在一个对象内,定义一个类变量就好了 A、B若不是在一个对象内,那可能要各定义自己的一个类变量,但可以同名
公西雒 2013-11-26
  • 打赏
  • 举报
回复
引用 9 楼 c02645 的回复:
只要不是public的,就是说那变量不共享的,而且同一个功能,还是用同个变量名吧,毕竟功能是分开的,对于看代码,维护还是方便点,至少别人看了舒服。
呃 没明白你的意思 你是想说要统一变量名还是说一个功能一个变量
c02645 2013-11-26
  • 打赏
  • 举报
回复
只要不是public的,就是说那变量不共享的,而且同一个功能,还是用同个变量名吧,毕竟功能是分开的,对于看代码,维护还是方便点,至少别人看了舒服。
公西雒 2013-11-26
  • 打赏
  • 举报
回复
引用 7 楼 lasesiwen 的回复:
要是A、B可以同时操作那个变量的话(不管是修改还是取值做运算),还是考虑下用线程吧
貌似你说的跟我问的没什么关系啊
lasesiwen 2013-11-26
  • 打赏
  • 举报
回复
要是A、B可以同时操作那个变量的话(不管是修改还是取值做运算),还是考虑下用线程吧
公西雒 2013-11-26
  • 打赏
  • 举报
回复
引用 3 楼 happy09li 的回复:
能用一个变量就用一个变量,
为什么呢?说说利弊撒
公西雒 2013-11-26
  • 打赏
  • 举报
回复
引用 2 楼 bdmh 的回复:
如果是ASET和BSET,肯定不会提示重复,所以还是你代码有问题
引用 4 楼 u011130289 的回复:
你声明了两个不一样的变量,怎么会提示重复声明?
我的意思是这两个变量表示一个含义
Regan-lin 2013-11-26
  • 打赏
  • 举报
回复
你声明了两个不一样的变量,怎么会提示重复声明?
熙风 2013-11-26
  • 打赏
  • 举报
回复
能用一个变量就用一个变量,
bdmh 2013-11-26
  • 打赏
  • 举报
回复
如果是ASET和BSET,肯定不会提示重复,所以还是你代码有问题
公西雒 2013-11-26
  • 打赏
  • 举报
回复

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧