php - if not then return 或 if then do 的技术差异
问题描述
我有一个问题,可能听起来很简单,但我试图了解我们在代码中编写条件语句的方式或是否会产生任何技术差异。这里我说的是 PHP,但它也可能适用于其他语言。
我想了解两者之间是否有任何区别
检查如果不是然后返回
function my_func($var or $val)
{
if ($var != $val) {
return false;
}
// do the stuff ...
}
检查如果然后做
function my_func($var or $val)
{
if ($var == $val) {
// do the stuff ...
}
return false;
}
我可以假设在 IF NOT 中重新调整会在性能上更好,因为如果条件不匹配它甚至不会通过代码。但是,这也适用于另一种方法。那么哪个更好还是取决于情况?
解决方案
大多数语言可能没有性能影响,因此您可以专注于清晰的表示。在大多数情况下,最好保持内部代码块更小并更早返回,因此更可取的解决方案取决于“do the stuff”块的大小。如果是单线,那么我更喜欢第二个例子;如果不是 - 我更喜欢第一个例子,因为只是返回是单行的,我不想在嵌套块中编写很多代码。
如果两个分支if
都是单行的,我更喜欢避免不必要的否定。它不会影响性能,但会稍微影响阅读。
推荐阅读
- mqtt - 本地主机对 mosquitto 主题的写入权限
- react-redux - axios catch 不会触发
- c - The purpose of wrapping a pointer in struct in C
- ssis - 使用环境参数作为项目参数
- java - 如何通过 JWT 跟踪用户的会话而不将其存储为 cookie 或 localStorage/sessionStorage
- angular - rxjs 地图创建重复
- python - 哪个记录器在 gunicorn 中输出这个?
- excel - 根据关联值与决胜局值动态排序列表
- terminal - 使用 rsync 复制目录结构只保留某些文件
- maven - 为什么 build-helper-maven-plugin 会抛出异常:'Cannot find default setter in class org.apache.maven.model.Resource'?