我正在考虑优化,格式化和样式化一些大文件。其中大部分内容似乎都不是最佳的(可能是谨慎而不是最好)。
我特别想要做的一件事是减少圈复杂度,其中许多函数使用冗余的if()语句。更多的布尔值=更复杂,虽然我确定它并不可怕(优化可能只有几毫秒)我已经看到很多这样的东西:
package model_velocity.msgs;
import "vector3d.proto";
message ModelVelResponse
{
required string name = 1;
required gazebo.msgs.Vector3d angularVel = 2;
required gazebo.msgs.Vector3d linearVel = 3;
}
message ModelVel_V{
repeated ModelVelResponse linkage = 1;
}
现在我很确定,例如:
if (isset($variable) && !is_null($variable) && is_object($variable) && isset($variable->property))
可缩短为:
!is_null($variable) && is_object($variable)
因为如果$ variable为null,那么is_object方法无论如何都会返回false - 但是我不是100%这种情况每次都是这样。一般来说,我只是想看看人们在降低像这样的语句的复杂性方面的建议,或者布尔逻辑的任何其他可能降低复杂性的规则。