王辉的博客

一种聪明的解决方案

最近的实习过程中,遇到了一些技术难题,老板提供了一种,他称之为最聪明的,解决方案。后来经过我仔细揣摩,从中悟到不少思想。

当前实习任务,是进行SQL语句解析,简而言之,就是在原有的语句中加入新的关系和条件。我所负责编写的小小程序把简单的例子照顾的是舒服体贴,而遇到了在不同位置出现嵌套情况的重量级对象,就心有余而力不足喽。

我本来的思路是要找一个广义而统一的算法,处理所有可预料的情况。这种算法理论上是应该存在的,但会消耗一定的人力财力并担当一定的风险。在我看来,写一段计算机程序就是把重复性程式化的工作给计算机事先安排好,事后达到一劳永逸的目的。几行简单的代码处理海量的数据,是程序的美感。

而当现实情况过于复杂,逻辑过于繁琐时,就像某些规则一样,程序也会遇到无法处理的问题,这就是例外,并且这些例外可能会重复发生。此时,便需要外部因素的介入来处理这些例外。和机器打交道的人本身,当些是最佳的选择。

有着二十多年计算机从业经验的头儿,沉思了片刻说,别找那个算法了。我有一个聪明的方案。

对于被成功处理的新请求,保存其处理结果。对于例外,只记录其出错行为,不中断主程序,之后,人工处理被记录过的例外并保存其处理结果。第二天执行相同程序时,如果一个请求的处理结果已被保存则不进行二次处理。

如果我把这些逻辑抽象出来,它就是生活中一种实用且聪明的态度。

成功了不要骄傲,要积累经验,下次遇到同样的问题时,飞速处理。失败了不要气馁,要总结教训,虚心改正,同样的错误永远不犯第二遍。

王辉 wechat
订阅王辉的博客,请长按或扫描上方微信二维码