硬件模块给软件提要求:
硬件模块A轮训1s检测1次,检测xxx寄存器,如果寄存器错误,那么第一次复位端口,记录日志;如果复位端口还是读取异常,那么复位芯片和记录日志;如果复位芯片还是出现异常,那么打印告警。
我们第一种做法是把上述策略转换为硬编码,好处是实现很快,但是会面临几个问题:
铁打的营盘流水的兵,人都换了,硬件问你这个问题,你得查代码;
上述策略可能会变,没办法,你要修改代码重新测试;
另外一个芯片的策略类似,你是拷贝一份代码修改呢,还是在以前的基础增加case还是if。
另外有一个策略是把所有的芯片场景机制抽象出来形成代码,硬件的具体策略抽象成数据表格,机制代码解析策略表格。后续硬件提要求,自己写表格,一劳永逸。逼格更高。