`
yangzhihuan
  • 浏览: 165781 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

过度设计的胡同

 
阅读更多

     一直没有静下心来把自己的一些经历写下来。今天来写一下吧。大约一个月前吧。公司的系统有个任务要做。

任务是这样的:把系统中用户的财富消费记录下来,包括交易的消费。

 

    方案是用日志文件的办法,把用户财富的消费记录到日志文件中,然后再把日志文件导入到数据库中,这样做是因为这样的操作比较频繁,如果直接写入数据库的话,数据库的压力比较大。暂且不管这种做法是否正确,先说正题。

 

    这种财富日志的方法在系统一直都用,只不过这次要求更多的详细信息,要对日志的内容,格式进行整理,重新设计。而且还要求和外部充值系统进行对帐,所以一下子压力就来了。

 

    由于要求提供对帐,和详细的交易信息。我不知怎么的就想着就在这么一条财富日志的记录中把用户交易,消费等的信息都反映在这条记录中,这样的好处是对系统现有的代码改动不会太大(其实不然,不过我当时是这样想的,现在想起来那时已经进入 了误区)。于是我就想方设法地就尽量多的信息往这条记录里面塞,比如用一个字段记录了交易涉及的ID,各个ID之间用逗号分开(这里已经是一个大大的问题了),然后这个ID串,也可能是不同类型的,那么我就再加多了一个type的字段来保存ID的类型,写到这里我都快晕了,汗一下!

 

   我使尽了浑身解数,这个东东还是给我弄出来了,不过我是越看越是郁闷,感觉怎么乱七八糟的呀,不过已经走到了死胡同了,但是还没有到尽头,也不知道是死胡同,那就继续往前走吧。

 

   终于某天,怀疑是自己人品大爆发。正在测试这个任务的时候,看到了交易功能模块里面也有一个交易的日志,当时真是脑中灵光一闪,之后化成一个“顶”字(自己顶自己啊),我怎么就职责不分了呀,交易的东西,我干嘛拼死的往财富记录里面塞呀......

 

   其实这本是个很简单的分模块功能的东东,不知怎么的在我手中就变成了.....唉

 

   事后总结了一下,原因也有几个的:

  1. 过度设计了,职责没有分清楚(这样的后果就是代码一团糟,就算是做出来了,也容易牵一发动全身,切记呀!)
  2. 由于任务急,没想得太清楚就动手了,我想这也是当时一头钻进死胡同的一个原因。
  3. 其实当时团队中还有很多同学在的,只是任务下来都是单打独斗了。如果当时开了个小会.....沟通很重要的啊,大家的智慧才是真的智慧啊,也要切记。
  4. 对业务理解不够(废话)
  5. 人品不够好.....
分享到:
评论
1 楼 艾云 2008-06-29  
人品啊,

相关推荐

Global site tag (gtag.js) - Google Analytics