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

你们写代码时是不是先写一大堆能把功能完成的?然后就开始琢磨怎么把那些重复的给弄干净?

  •  
  •   pepsin · 2012-09-08 21:51:47 +08:00 · 5454 次点击
    这是一个创建于 4445 天前的主题,其中的信息可能已经有所发展或是发生改变。
    发现最近都是这么写,先一大堆if else,case when,然后看那些奇怪的重复各种不爽,然后费劲把那些都抹干净。

    貌似水平不够没办法一下就写出不重复的代码,感觉降低不少效率。
    8 条回复    1970-01-01 08:00:00 +08:00
    quake0day
        1
    quake0day  
       2012-09-08 22:06:27 +08:00
    正常,除非是写的多了有经验了,否则一般第一次代码都是需要重构的。
    lancome
        2
    lancome  
       2012-09-09 10:36:28 +08:00
    对,这就是重构!
    myrual
        3
    myrual  
       2012-09-14 15:36:58 +08:00
    yes
    chrisyipw
        4
    chrisyipw  
       2012-09-14 16:05:21 +08:00
    在想怎么实现时一般会想会不会被别的地方用到,如果暂时没发现会被复用一般会先写一次 if,如果有两次或三次重复,还没 finish feature 的就立刻改,finish 了就安排到下一次的 refactor & clean up;如果会,就直接琢磨该封装成 fn 还是 class 再写。

    @lancome 重构的意义不仅仅只是把代码写优美,是把代码优化,比如性能提高、逻辑更清晰。如果只是为了封装,我倾向于叫它「clean up」。
    imcj
        5
    imcj  
       2012-09-14 16:38:07 +08:00
    @chrisyipw
    求科普,refactor是不是重构?clean up是不是清理finish feature是不是结束的特性,fn是不是方法class是不是类?
    hzlzh
        6
    hzlzh  
       2012-09-14 19:06:55 +08:00
    。。我们叫这review吧
    everyx
        7
    everyx  
       2012-09-14 22:34:02 +08:00
    先把逻辑功能实现,然后回头检查修改或者抽象啥的
    wingoo
        8
    wingoo  
       2012-09-14 23:19:59 +08:00
    不能想太多, 当然也要先想一点, 然后立即动手,再修改
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2733 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 11:44 · PVG 19:44 · LAX 03:44 · JFK 06:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.