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

2016-08-23 14:06:23 +08:00
 redhatping

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

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

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

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



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

我也常年觉得我以前写的代码真的好。好佩服我自己
winglight2016
2016-08-23 17:06:21 +08:00
@darklowly 没错,我也经常惊讶于以前 coding 的思路如此精妙,要给自己 99 分。。。
Lyrus
2016-08-23 17:31:03 +08:00
以前只有我和上帝知道这段代码是干嘛的 现在只有上帝知道了
Guaidaodl
2016-08-23 17:31:17 +08:00
然而我每次看我一年前写的代码都觉得写得跟屎一样.
darklowly
2016-08-23 17:31:21 +08:00
coconne
2016-08-23 20:10:02 +08:00
@darklowly 也一样,我倒没觉得自己以前写的代码看不懂,但是偶尔看到以前的代码,我觉得现在的自己如果不查资料写不出来
chuan6
2016-08-24 10:11:06 +08:00
是啊,不过感觉单元测试在这方面还是蛮有帮助的。有时候代码逻辑一下子看不明白,至少看测试能知道一个函数预期的行为是什么样的。
yomuse
2016-08-24 10:21:03 +08:00
没有注释的话 告诉别人这不是你写的 ……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/301177

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX