背景
这段思考源于一次和业务方关于“系统产出了结果是否就能顺带保障准确”性的观点上的分歧。
从客观的角度上来说,系统既然产出了数据,就应该保障数据的准确性。虽然从业务结果上这是理所当然的事情,但是从开发的成本上,保障数据的准确性是会额外增加开发的工作量的。
以下是技术端完整的逻辑:
问题的定义
通常的系统,都会有正向加工和检查2条链路。
正向加工链路,就是基于业务逻辑去产生结果。检查链路,则是从“另一个”维度去检查结果是否符合预期,以验证加工过程是否存在业务上的逻辑漏洞,或者技术上的BUG。
常见的组合包括,记账和借贷平衡检验。系统件间数据交换和稽核。数学上求解某面积、周长和验证答案是否为负数等。
可以看到这是两件完全独立的事情,并且正是因为检查的逻辑独立性,才有检查的意义。
同时,为了保证检查的可靠性,技术上通常检查的逻辑要求足够简单。否则就陷入了通过某个程序判断产生的结果是否有BUG而引入另一个程序,那么如何保证引入的新程序没有BUG的无限循环。
结论
基于以上,对于“增加校验以保障数据的准确性,会导致额外的开发成本”这件事是显而易见的。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!