V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yaocaptain
V2EX  ›  程序员

第一次重构以前写的代码,结果花的时间比开发的时候还要多

  •  
  •   yaocaptain · 2011-05-06 14:44:13 +08:00 · 5699 次点击
    这是一个创建于 4951 天前的主题,其中的信息可能已经有所发展或是发生改变。
    第一次写花了3天左右,采用面向过程的方法,这次重构是由于看了一本设计模式的书( http://book.douban.com/subject/4746407/ )发现书里面提到的好几个模式都能解决我第一次写碰到的比较苦恼的问题,所以打算用OOP重新写,结果一不小心写了1个星期,这是不是不正常?是不是滥用模式的征兆?
    11 条回复    1970-01-01 08:00:00 +08:00
    billychow
        1
    billychow  
       2011-05-06 15:00:32 +08:00
    对比一下,基于现在这个版本进行扩展或修改和基于以前的版本,哪个更轻易更高效?
    yaocaptain
        2
    yaocaptain  
    OP
       2011-05-06 20:09:41 +08:00
    @billychow 现在的更容易扩展,不过就实现同样的功能来说,没有原来那个性能好.........
    cmonday
        3
    cmonday  
       2011-05-06 22:10:28 +08:00
    之前你碰到的那些比较苦恼的问题,是怎么解决的?
    chone
        4
    chone  
       2011-05-06 22:14:20 +08:00
    多重构几次就好了,就看一本书不可能马上就能把构架处理得很优美了。
    chloerei
        5
    chloerei  
       2011-05-06 22:45:10 +08:00
    没事,第一次,小步走。
    yaocaptain
        6
    yaocaptain  
    OP
       2011-05-07 00:00:38 +08:00
    @cmonday 重复的代码和条件判断很多,各个部分耦合太紧,不易扩展。
    yaocaptain
        7
    yaocaptain  
    OP
       2011-05-07 00:08:52 +08:00
    @chone @chloerei 多谢鼓励!虽然时间耗得比较久但是这个过程还是学到了挺多东西的,只是由于时间翻倍了,想知道自己的理解是不是有错误才导致了这么长的时间......
    chloerei
        8
    chloerei  
       2011-05-07 00:41:52 +08:00
    @yaocaptain 花的时间倒看不出来是不是滥用模式了,这是不熟练导致的。如果一段时间后抽出来的部分不会有第二个地方用到,就是过度设计。

    有重构的意识和行动总比没有好。
    yaocaptain
        9
    yaocaptain  
    OP
       2011-05-07 01:31:26 +08:00
    @cholerei 恩,如果不进行重构的话,根本不会发现这些模式到底好在什么地方,应该用在什么地方,以前看过一本关于设计模式的书,也听老师讲过,但是由于没有懂,最后也就记下了那几个术语。。。
    beston
        10
    beston  
       2011-05-12 15:51:19 +08:00
    这说明你真正做到了重构,:)
    halida
        11
    halida  
       2011-05-12 15:54:09 +08:00
    这个是一个学习的过程, 下次就不会这么慢了.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1520 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 16:53 · PVG 00:53 · LAX 08:53 · JFK 11:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.