abseil-duration-factory-scale

检查 absl::Duration 工厂函数的参数是否在内部进行缩放,以及是否可以更改为不同的工厂函数。此检查还会查找值为零的参数,并建议使用 absl::ZeroDuration() 代替。

示例

// Original - Internal multiplication.
int x;
absl::Duration d = absl::Seconds(60 * x);

// Suggested - Use absl::Minutes instead.
absl::Duration d = absl::Minutes(x);


// Original - Internal division.
int y;
absl::Duration d = absl::Milliseconds(y / 1000.);

// Suggested - Use absl:::Seconds instead.
absl::Duration d = absl::Seconds(y);


// Original - Zero-value argument.
absl::Duration d = absl::Hours(0);

// Suggested = Use absl::ZeroDuration instead
absl::Duration d = absl::ZeroDuration();