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

为何曾经自己写出的代码,过了一年,重新写,反而看不懂了.

  •  
  •   redhatping · 2016-08-23 14:06:23 +08:00 · 6426 次点击
    这是一个创建于 3010 天前的主题,其中的信息可能已经有所发展或是发生改变。

    为之前的代码叫好的同时, 人反而顿时傻掉了. 代码反而写不出来了. 如果不是代码存在电脑里, 还真觉得自己真是抄袭的代码.. 这种现象是如何产生? 如何避免呢?

    19 条回复    2016-08-24 10:21:03 +08:00
    redhatping
        1
    redhatping  
    OP
       2016-08-23 14:19:44 +08:00
    总结: 之前写的代码, 太不具备可读性.. 只是快速编程, 时间一长, 重新看懂应该没多大问题, 但是一些阅读太浪费时间了. 细节上的不留意 给以后的代码升级造成很大困恼.
    lyragosa
        2
    lyragosa  
       2016-08-23 14:25:30 +08:00
    ( 16 分钟惨案)

    很正常,我的代码的注释常常写得比正文还多,涉及复杂运算,大量公式, magic number 和 hardcode 的时候都会和写实验报告一般的写注释,很多时候还把构思思路或者一些一时灵感记录进去……就和 v2 比较鄙视的那种“一个比较判定语句都要写清楚是干嘛的”那种注释一样

    最终让我在四年之后改某段代码的时候受益匪浅……
    geeksu
        3
    geeksu  
       2016-08-23 14:29:58 +08:00
    好记性不如烂笔头,有些注释还是需要的



    目前正在看一个完全没有注释的项目,想哭
    fjzjk
        4
    fjzjk  
       2016-08-23 14:40:43 +08:00
    @lyragosa 是的,一个判定都要写注释的话,事后维护会非常舒服。领导应该也会很喜欢你这样写,虽然效率低一点
    nicevar
        5
    nicevar  
       2016-08-23 14:52:32 +08:00
    淡忘是正常的,特别是经常跨平台,翻出五六年前的代码有时候自己完全都看不懂,倒是更容易发现以前隐藏很深的 bug
    fwings260
        6
    fwings260  
       2016-08-23 14:56:26 +08:00
    原来不是我一个人。。。。。
    aprikyblue
        7
    aprikyblue  
       2016-08-23 14:59:37 +08:00 via Android
    有时不是看不懂而是以前写的太烂难以下手改。。。顺带一堆 bug 的话更酸爽。。
    WhyAreYouSoSad
        8
    WhyAreYouSoSad  
       2016-08-23 15:22:06 +08:00
    可读性很重要,加注释。不要用太复杂的算法。我的经验是,打代码千万不要大脑超频,不然后面再维护自己的代码,不一定能马上看懂
    vicalloy
        9
    vicalloy  
       2016-08-23 15:31:21 +08:00
    我怎么感觉看不懂自己之前的代码大多的设计的不合理导致的。
    iMouseWu
        10
    iMouseWu  
       2016-08-23 15:42:29 +08:00
    个人理解,抽象的越复杂,粒度越细,系统的扩展性大幅度的增加,但是可读性就会相应的下降.在不考虑其它情况下,可读性最强的其实是,所有的逻辑都在一个类中(在一个类中代码组织很乱的,就又得另外说了)
    GentleSadness
        11
    GentleSadness  
       2016-08-23 15:47:17 +08:00 via Android
    @lyragosa 发段神秘代码和解释看看
    darklowly
        12
    darklowly  
       2016-08-23 17:02:06 +08:00   ❤️ 1
    楼上的全部都跑题

    我也常年觉得我以前写的代码真的好。好佩服我自己
    winglight2016
        13
    winglight2016  
       2016-08-23 17:06:21 +08:00
    @darklowly 没错,我也经常惊讶于以前 coding 的思路如此精妙,要给自己 99 分。。。
    Lyrus
        14
    Lyrus  
       2016-08-23 17:31:03 +08:00 via iPhone   ❤️ 1
    以前只有我和上帝知道这段代码是干嘛的 现在只有上帝知道了
    Guaidaodl
        15
    Guaidaodl  
       2016-08-23 17:31:17 +08:00
    然而我每次看我一年前写的代码都觉得写得跟屎一样.
    darklowly
        16
    darklowly  
       2016-08-23 17:31:21 +08:00 via iPhone
    coconne
        17
    coconne  
       2016-08-23 20:10:02 +08:00
    @darklowly 也一样,我倒没觉得自己以前写的代码看不懂,但是偶尔看到以前的代码,我觉得现在的自己如果不查资料写不出来
    chuan6
        18
    chuan6  
       2016-08-24 10:11:06 +08:00
    是啊,不过感觉单元测试在这方面还是蛮有帮助的。有时候代码逻辑一下子看不明白,至少看测试能知道一个函数预期的行为是什么样的。
    yomuse
        19
    yomuse  
       2016-08-24 10:21:03 +08:00
    没有注释的话 告诉别人这不是你写的 ……
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5924 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 02:26 · PVG 10:26 · LAX 18:26 · JFK 21:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.