0

关于类字段和局部变量的使用,我有几个问题。

  • 什么时候应该将变量声明为字段或局部变量?当然,很明显,如果变量只存在于块或函数的范围内,那么变量应该只是局部的。
  • 如果在重构一个函数之后,大函数被拆分为几个私有函数——这足以成为将局部变量提升为字段的理由吗?可读性如何?
  • 在私有函数之间传递局部变量会更好吗?
  • 在使用相同局部变量的函数中提取一个类而不是提升到一个领域是否可行?

您可以就相关主题进行阐述的任何内容也都很好。

4

1 回答 1

2
  1. 当变量代表实例的*状态*时,将其声明为字段。
  2. 已拆分的大型函数不足以将局部变量提升为字段。对可读性和可维护性的影响太显着了:
    1. 程序员总是需要推理这些字段是状态的一部分,还是它们只是一些临时的计算助手;
    2. 维护线程安全要困难得多 ,因为相同的字段用于任何并发方法调用。
    3. 将变量从一个内部方法传递到另一个方法有助于:
      1. 独立理解该方法的确切功能;
      2. 重用内部方法;
      3. 对内部方法进行单元测试。
  3. 是的,传递局部变量。
  4. 如果这样的变量太多,通常将它们分组到一个方便的帮助类中,该类用作结构。它增加了可读性并简化了使用。
于 2013-08-11T15:40:02.160 回答