一直没有静下心来把自己的一些经历写下来。今天来写一下吧。大约一个月前吧。公司的系统有个任务要做。
任务是这样的:把系统中用户的财富消费记录下来,包括交易的消费。
方案是用日志文件的办法,把用户财富的消费记录到日志文件中,然后再把日志文件导入到数据库中,这样做是因为这样的操作比较频繁,如果直接写入数据库的话,数据库的压力比较大。暂且不管这种做法是否正确,先说正题。
这种财富日志的方法在系统一直都用,只不过这次要求更多的详细信息,要对日志的内容,格式进行整理,重新设计。而且还要求和外部充值系统进行对帐,所以一下子压力就来了。
由于要求提供对帐,和详细的交易信息。我不知怎么的就想着就在这么一条财富日志的记录中把用户交易,消费等的信息都反映在这条记录中,这样的好处是对系统现有的代码改动不会太大(其实不然,不过我当时是这样想的,现在想起来那时已经进入 了误区)。于是我就想方设法地就尽量多的信息往这条记录里面塞,比如用一个字段记录了交易涉及的ID,各个ID之间用逗号分开(这里已经是一个大大的问题了),然后这个ID串,也可能是不同类型的,那么我就再加多了一个type的字段来保存ID的类型,写到这里我都快晕了,汗一下!
我使尽了浑身解数,这个东东还是给我弄出来了,不过我是越看越是郁闷,感觉怎么乱七八糟的呀,不过已经走到了死胡同了,但是还没有到尽头,也不知道是死胡同,那就继续往前走吧。
终于某天,怀疑是自己人品大爆发。正在测试这个任务的时候,看到了交易功能模块里面也有一个交易的日志,当时真是脑中灵光一闪,之后化成一个“顶”字(自己顶自己啊),我怎么就职责不分了呀,交易的东西,我干嘛拼死的往财富记录里面塞呀......
其实这本是个很简单的分模块功能的东东,不知怎么的在我手中就变成了.....唉
事后总结了一下,原因也有几个的:
- 过度设计了,职责没有分清楚(这样的后果就是代码一团糟,就算是做出来了,也容易牵一发动全身,切记呀!)
- 由于任务急,没想得太清楚就动手了,我想这也是当时一头钻进死胡同的一个原因。
- 其实当时团队中还有很多同学在的,只是任务下来都是单打独斗了。如果当时开了个小会.....沟通很重要的啊,大家的智慧才是真的智慧啊,也要切记。
- 对业务理解不够(废话)
- 人品不够好.....