公司很多这种代码,大家如何看待这个问题?
图1 这个实在是没看懂要干嘛,数据嵌套这么深说明数据结构设计的有问题,而且还出现了 N+1 的问题。
图2 简单精简优化,还可以再优化的空间。
代码优化是个长期的过程。有时候为了快速的顺应需求变化就容易出现这种代码,后续没有时间去维护就会流传下去了。
<?php
$bust = mt_rand(46, 55);
$j2waist = mt_rand(27, 30);
var_dump($expr = $bust - $j2waist);
$arr = [
2 => [
[$expr, 25, null, 23],
[$expr, 23, 25, 20],
[$expr, 20, 23, 18],
[$expr, 17, 20, 15],
[$expr, 13, 17, 12],
]
];
$Loseness = 2;
// 请注意 ,list 函数在 php5 时 顺序是颠倒的。
foreach ($arr[$Loseness] as list($expr, $min, $max, $value)) {
if (($min === null ?: $expr >= $min) && ($max === null ?: $expr < $max)) {
var_dump($expr, $min, $max, $value);
}
unset($size);
}
2 回答4.3k 阅读✓ 已解决
4 回答4.3k 阅读
2 回答1.7k 阅读✓ 已解决
4 回答2.5k 阅读✓ 已解决
7 回答1.8k 阅读
1 回答4.1k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
可以搜一下面向对象编程五大原则SOLID,按这个原则写代码就行了