我最近看到了很多这样的代码:
if ($foo = $bar->getFoo())
{
baz($foo);
}
这被认为是好的还是坏的做法?
例如,如果您使用此类代码,Netbeans IDE会发出通知:
可能的意外分配, 条件中的任务应该是 避免
您怎么看?
答案 0 :(得分:4)
这是一种让错误潜入的简单方法,但这在PHP中很常见。特别是在像while (($dir = readdir($handle)) !== FALSE)
如果可以避免它。避免它。
答案 1 :(得分:4)
这是一个非常有用的工具,我不得不承认有时使用它来避免额外的任务。一方面,有些人可能会做坏事,因为:
另一方面:
我应该注意到我确实试图避免它,因为我发现它在大多数时候都不太可读,但这纯粹是我个人的偏好。在我发现它有用的地方,我使用它。
答案 2 :(得分:4)
我一直使用这种语法......我发现它100%可读,因为我已经习惯于看到这种线条了。为分配添加额外的代码行似乎浪费了我的空间。
答案 3 :(得分:2)
虽然这是有效的语法,但结果会如预期的那样,但这是一个坏习惯。缺乏可读性,当你想要==时,有可能养成放置=的错误习惯,当你试图在应用程序中找到真正的错误时,你的眼睛将继续回到这一行。我不会用这种写作风格。在这种情况下,只需获取返回值,然后验证返回值......或者更好的是,使用异常处理来避免因许多if语句而陷入困境。