我没有找到任何编码风格指南来回答我的问题。我有一个带有嵌套大括号和几个逻辑运算符的简单IF。我该如何缩进呢?
if (
!$var
|| (
$this->var != $this->needed_var()
&& !$this->another_func()
&& !$this->another_func_two()
)
) {
// My code...
}
我觉得它很流行......有什么帮助吗?
答案 0 :(得分:3)
为了便于阅读,我会将较长语句的结果存储到有意义的变量中。
$is_not_needed = ($this->var != $this->needed_var() && !$this->another_func() && !$this->another_func_two());
if( !$var || $is_not_needed )
{
// your code here
}
答案 1 :(得分:1)
没有通用的编码风格规则,最重要的是你的格式是一致的,你的代码是可读的。我会像这样格式化,但这只是我的编码风格!
if (!$var || ($this->var != $this->needed_var() &&
!$this->another_func() &&
!$this->another_func_two())){
// My code...
}
在任何情况下,您都可以检查pear的编码标准
答案 2 :(得分:1)
我会建议Zend Framework Coding Standards。它们在“控制声明”下涵盖了这个特殊情况,如下所示:
if (($a == $b)
&& ($b == $c)
|| (Foo::CONST == $d)
) {
$a = $d;
}
答案 3 :(得分:0)
与PHP没有直接关系,但QT Framework编码风格和约定文档编写得非常好,并且具有很强的连贯性。
答案 4 :(得分:0)
我更喜欢WordPress Coding Standards。虽然这些标准大部分是相同的。
答案 5 :(得分:0)
$var_is_ok = ($this->var != $this->needed_var());
$another_req = ($this->another_func());
$another_req2 = ($this->another_func_two());
if (!$var || ($var_is_ok && !$another_req && !another_req2) )
{
// My code...
}
答案 6 :(得分:-1)
当你有条件没有明确的缩进方法时,条件太长了。程序员无法快速理解它。
重构它。