Php 作业状况良好。这是一种好的做法吗?
考虑:Php 作业状况良好。这是一种好的做法吗?,php,coding-style,Php,Coding Style,考虑: if (a = 10) { /* do something */ } 我感兴趣的是,这是否是一件好事,以及为什么,因为我不得不经常面对它。先谢谢你 请考虑一个更复杂的例子。你喜欢什么?为什么 function getSomeData() { return rand(0, 5); } 第一: if ($result = getSomeData()) { print($result) } 或第二: $result = getSomeData(); if ($res
if (a = 10)
{
/* do something */
}
我感兴趣的是,这是否是一件好事,以及为什么,因为我不得不经常面对它。先谢谢你
请考虑一个更复杂的例子。你喜欢什么?为什么
function getSomeData()
{
return rand(0, 5);
}
第一:
if ($result = getSomeData())
{
print($result)
}
或第二:
$result = getSomeData();
if ($result)
{
print($result);
}
这是绝对可怕的,在你检查条件的情况下,你不尝试做作业。我甚至不确定这是否可行,以及if语句的结果如何 要么这样做:
if ( a == 10 ){ /* do stuff */ }
a = 10;
if ( /* condition here */ ){ /* do stuff */ }
或者这样做:
if ( a == 10 ){ /* do stuff */ }
a = 10;
if ( /* condition here */ ){ /* do stuff */ }
我相信你把单打误认为双打了
编辑:
为了响应更复杂的情况,您必须在if语句中放置boolean(取决于编程语言,这将返回错误或不返回错误)。在不返回布尔值的if语句中放置任何其他内容实际上是一件不好的事情。这绝对糟糕,在检查条件的情况下,您不会尝试执行赋值。我甚至不确定这是否可行,以及if语句的结果如何 要么这样做:
if ( a == 10 ){ /* do stuff */ }
a = 10;
if ( /* condition here */ ){ /* do stuff */ }
或者这样做:
if ( a == 10 ){ /* do stuff */ }
a = 10;
if ( /* condition here */ ){ /* do stuff */ }
我相信你把单打误认为双打了
编辑:
为了响应更复杂的情况,您必须在if语句中放置boolean(取决于编程语言,这将返回错误或不返回错误)。在不返回布尔值的if语句中放置任何其他内容实际上是一件坏事。没有什么大神奇
这里,赋值返回的值就是被赋值的值
在您的例子中,它是(a=10)
=>10=>非零=>因此为“true”
所以,它总是返回真的没有什么大的魔力
这里,赋值返回的值就是被赋值的值
在您的例子中,它是(a=10)
=>10=>非零=>因此为“true”
因此,它总是返回true在这个特定的例子中,“if”是不必要的,矫揉造作的返回总是10 这将是更多的相互询问
if(a = b)
{
// do stuff
}
在这种情况下,我更喜欢用另一对()将其环绕,如:
在这里,你向另一个编码员展示你确切地知道你在做什么
一个好的规则:如果你必须思考10秒以上才能理解一个条件,也许有另一种表达方式在这个特定的例子中,“如果”是不必要的,假装的返回总是10 这将是更多的相互询问
if(a = b)
{
// do stuff
}
在这种情况下,我更喜欢用另一对()将其环绕,如:
在这里,你向另一个编码员展示你确切地知道你在做什么
一个好的规则:如果你必须思考10秒以上才能理解一个条件,也许有另一种表达方式不,一般来说,这不是好的做法。在这种情况下,根据语言的不同,它要么抛出错误(因为
a
不是布尔值,要么赋值不返回值),要么总是求值为true(除0
“正常”求值为true以外的整数)。在这两种情况下,if
语句似乎都是不必要的。一般来说,这不是一种好的做法。在这种情况下,根据语言的不同,它要么抛出错误(因为a
不是布尔值,要么赋值不返回值),要么总是求值为true(除0
“正常”求值为true以外的整数)。在这两种情况下,if
语句似乎都是不必要的。否,它将在Java中引发异常:类型不匹配:无法从int转换为booleanNo,它将在Java中引发异常:类型不匹配:无法从int转换为boolean使用另一对大括号包围条件不起任何作用。所以我不会说你在向他们展示你知道自己在做什么。如果你想对其他程序员说些什么,请使用更明显正确的注释或代码。@justin为什么要使用无用的括号?这恰恰相反,它向其他人表明你不知道自己在做什么@svick他们是括号()不是一对括号{}@Fraser,是的,你是对的,我总是搞不清楚什么术语指的是什么类型的括号。我肯定会想10秒钟以上为什么你的代码使用双括号。用另一对括号包围条件没有任何作用。所以我不会说你在向他们展示你知道自己在做什么。如果你想对其他程序员说些什么,请使用更明显正确的注释或代码。@justin为什么要使用无用的括号?这恰恰相反,它向其他人表明你不知道自己在做什么@svick他们是括号()不是一对大括号{}@Fraser,是的,你是对的,我总是搞不清楚什么术语指的是什么类型的括号。我肯定会想10秒钟以上为什么你的代码使用双括号。