Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 嵌入式If/ELSE与序列化And(&;)语句?_Php_Javascript_C++ - Fatal编程技术网

Php 嵌入式If/ELSE与序列化And(&;)语句?

Php 嵌入式If/ELSE与序列化And(&;)语句?,php,javascript,c++,Php,Javascript,C++,这仅仅是一个偏好的问题……下面的代码我正在考虑迁移到序列化&stations……这是一个有效的if/else,带有嵌入式if/else Is this a preference or is there a "best practice"? function invoke() { $obj=new validate($this->_protected_arr); if($obj->empty_user()) { if($obj-&g

这仅仅是一个偏好的问题……下面的代码我正在考虑迁移到序列化&stations……这是一个有效的if/else,带有嵌入式if/else

Is this a preference or is there a "best practice"?

  function invoke()
    {
    $obj=new validate($this->_protected_arr);
    if($obj->empty_user())
      {
      if($obj->email())
        {
        if($obj->pass())
          {
          if(self::validate())
            {
            self::activate_session();
            $control=new controller_control();
            $control->send('pass');
            }
          else
            {
            new view_message('validate');
            }
          }
        else
          {
          new view_message('pass');
          }
        }
      else
        {
        new view_message('email');
        }
      }
    else
      {
      new view_message('empty');
      }         
    }

改变你的做法

if (!$obj->empty_user) {
 return new view_message('empty');
}

if (!$obj->foo) {
 return new view_message('foo');
}

//Garden of Eden

您的代码路径只有在安全的情况下才会继续-这将避免丑陋的嵌套连接,并增加重构的灵活性。不需要什么都做。

改变你的方法

if (!$obj->empty_user) {
 return new view_message('empty');
}

if (!$obj->foo) {
 return new view_message('foo');
}

//Garden of Eden

您的代码路径只有在安全的情况下才会继续-这将避免丑陋的嵌套连接,并增加重构的灵活性。不需要&&&&&&everything。

当需要不同的
else
子句时,使用嵌套的
if
语句。否则,请使用&&。它在不牺牲可读性的情况下使代码更加紧凑。我的价值0.02美元。是的,这是一个偏好的问题。我更喜欢看起来不难看、不可读的代码,所以我不喜欢上面的代码。但是有一些人更喜欢它,所以我能说什么?”DRD -我同意……下面更是这样,这与C++有关,因为<代码> $Obj>代码>违反了标识符的命名规则?在需要不同的<代码> E/<代码>子句时,使用嵌套的<代码> < < /代码>语句。否则,请使用&&。它在不牺牲可读性的情况下使代码更加紧凑。我的价值0.02美元。是的,这是一个偏好的问题。我更喜欢看起来不难看、不可读的代码,所以我不喜欢上面的代码。但是有一些人更喜欢它,所以我能说什么?”DRD -我同意……下面更是这样的,这与C++有关,因为<代码> $Obj/<代码>违反了标识符的命名规则?如果返回是不可能的,那么可以设置一个排序的信号量,而不是“返回新的FULL()”;您可以这样做:$error=newfoo();然后用if(!$error){}包装伊甸园——根据操作和错误报告的详细程度,它可能会变得更复杂。如果不可能返回,则可以设置排序的信号量,而不是“return new foo();”您可以这样做:$error=newfoo();然后用if(!$error){}包装伊甸园——根据操作的详细程度和错误报告,它可能会变得更复杂