美文网首页
什么时候应该使用全局变量和类成员?

什么时候应该使用全局变量和类成员?

作者: 智勇双全的小六 | 来源:发表于2018-04-11 06:51 被阅读0次

王垠的观点

避免使用全局变量和类成员(class member)来传递信息,尽量使用局部变量和参数。有些人写代码,经常用类成员来传递信息,就像这样:

 class A {
   String x;

   void findX() {
      ...
      x = ...;
   }

   void foo() {
     findX();
     ...
     print(x);
   }
 }

首先,他使用findX(),把一个值写入成员x。然后,使用x的值。这样,x就变成了findX和print之间的数据通道。由于x属于class A,这样程序就失去了模块化的结构。由于这两个函数依赖于成员x,它们不再有明确的输入和输出,而是依赖全局的数据。findX和foo不再能够离开class A而存在,而且由于类成员还有可能被其他代码改变,代码变得难以理解,难以确保正确性。

如果你使用局部变量而不是类成员来传递信息,那么这两个函数就不需要依赖于某一个class,而且更加容易理解,不易出错:

 String findX() {
    ...
    x = ...;
    return x;
 }
 void foo() {
   String x = findX();
   print(x);
 }

我的思考

如果按照王垠的观点,使用全局变量和类成员应该 只是用来传值,而不改变值的情况下。

那会不会很麻烦???

相关文章

网友评论

      本文标题:什么时候应该使用全局变量和类成员?

      本文链接:https://www.haomeiwen.com/subject/pinohftx.html