如何封装复用传感器变量的有效值判断逻辑?
解决方案:封装判断逻辑实现复用
这个场景太常见了!重复写一大串判断条件不仅显得代码臃肿,后期要是要调整有效值范围,还得挨个找地方修改,简直是维护噩梦。其实核心思路很简单:把你的有效值判断逻辑抽离出来,定义成一个独立的可复用函数(或方法),之后每次需要判断时直接调用它就行。
示例1:JavaScript实现
// 先定义复用的判断函数 function isValidSensorValue(a) { return (a > -1500 && a < -1) || (a > 1 && a < 1500); } // 后续需要判断的地方直接调用 if (isValidSensorValue(sensorValue)) { // 在这里执行你的业务代码 }
示例2:Java实现
// 可以把这个方法放在工具类里,或者当前业务类中 public static boolean isValidSensorValue(int a) { // 如果你的变量是浮点数,把int改成double/float即可 return (a > -1500 && a < -1) || (a > 1 && a < 1500); } // 调用示例 if (isValidSensorValue(sensorData)) { // 执行你的代码逻辑 }
示例3:Python实现
def is_valid_sensor_value(a): return (a > -1500 and a < -1) or (a > 1 and a < 1500) # 使用的时候直接调用函数判断 if is_valid_sensor_value(sensor_reading): # 这里放你要执行的代码
进阶优化:用常量管理边界值(可选)
如果以后可能需要调整有效值的边界(比如把-1500改成-2000),可以把这些边界值定义成常量,让代码维护更方便:
以Python为例:
# 把边界值定义成常量,一目了然 MIN_NEGATIVE = -1500 MAX_NEGATIVE = -1 MIN_POSITIVE = 1 MAX_POSITIVE = 1500 def is_valid_sensor_value(a): return (MIN_NEGATIVE < a < MAX_NEGATIVE) or (MIN_POSITIVE < a < MAX_POSITIVE)
这样以后要调整范围,只需要修改常量的值,不用动判断逻辑本身,灵活性拉满!
内容的提问来源于stack exchange,提问作者Vitesze
相关产品推荐
相关产品推荐

