为什么/如何在函数中使用传递的常量?

时间:2012-09-12 08:59:56

标签: coding-style constants

我已经看过将常量传递给方法的类,我想它是在该函数中定义某种设置的。我现在无法在任何地方找到它来试图找出逻辑,所以我可以问这里。您如何以及为何使用此概念,我在哪里可以找到有关它的更多信息?

下面的示例是用PHP编写的,但是任何处理常量的语言都可以猜测..

// Declaring class
class ExampleClass{
  const EXAMPLE_CONST_1 = 0;
  const EXAMPLE_CONST_2 = 1;  

  function example_method($constant(?)){

     if($constant == ExampleClass::EXAMPLE_CONST_1)
       // do this
     else if($constant == ExampleClass::EXAMPLE_CONST_2)
       // do that

  }
}

// Using class
$inst = new ExampleClass();
$inst->example_method(ExampleClass::EXAMPLE_CONST_1);

对我而言,传递“ExampleClass :: EXAMPLE_CONST_1”比传递“1”更明确,但这是传递常数的唯一原因吗?

2 个答案:

答案 0 :(得分:1)

简单地传递1并没有多说。通过使用常量,您可以对名称中的设置进行描述。

例如: 常数RAIN = 1;

方法setWeather(RAIN);

至少我是如何以及为何使用它。

答案 1 :(得分:1)

避免传递文字总是一个好主意。通过分配名称,阅读代码的任何人都有机会理解该值的含义 - 数字没有任何意义。它也可以帮助您维护代码:如果某些要求必须更改值,您可以在一个地方轻松完成,而不是检查每个值的出现。