我有一个模糊的回忆,在大学的时候,我的一位教授说了一些话,大意是在(平均)不看程序代码的 3 周后,研究表明该程序的原始作者没有任何好处与从未见过代码的开发人员相比,使用/维护该代码。
回去我想找到该声明的来源,但我无法在任何地方找到它。我产生幻觉了吗?或者有人可以指出我正确的方向吗?
我有一个模糊的回忆,在大学的时候,我的一位教授说了一些话,大意是在(平均)不看程序代码的 3 周后,研究表明该程序的原始作者没有任何好处与从未见过代码的开发人员相比,使用/维护该代码。
回去我想找到该声明的来源,但我无法在任何地方找到它。我产生幻觉了吗?或者有人可以指出我正确的方向吗?
严格来说,从我自己的个人经验来看,我认为那句话是胡说八道。与使用任何随机的第三方代码相比,我已经多次回过头来编写几个月前编写的代码,并且仍然对什么/为什么/在哪里/如何有更好的理解。
至于来源:
“任何你自己的代码,如果你有六个月或更长时间没有看过,也可能是别人写的。”
伊格森定律 - 所讨论的伊格森究竟是谁/现在并不明显
我发现这个说法是正确的,但所讨论的时间是可变的。我听说过 4 周到 6 个月。
我可以从个人经验告诉你,我刚刚从我从事了一年多的项目中转移到一个“紧急”项目。我在“紧急”项目上花了大约一个月的时间,当我回到我的旧项目时,事情有点模糊。我并没有完全失去与旧项目的联系,但我必须花点时间回忆一下我离开的地方,我已经完成的事情,我还剩下要做的事情等等。
不幸的是,我不能给你一个明确的答案。我认为这更像是一个口语化的说法,而不是一个实际证明的事实。我确实记得我的大学教授告诉我同样的事情,尽管他们从未引用过实际的来源/作者。
我认为3周是错误的。我从来没有读过或记得在 3 周后,一个新的好人拥有了原作者。
可以肯定的是,我在 3 周内不会感到舒服,我会在刚写完代码后几个小时/几天,但 3 周是相当低的。也许 1 年是一个更好的时间来看到更少的差异,但仍然......一旦你再次阅读你自己的代码和你自己的评论,你通常会记住代码以特定方式编写的内容和原因。一个新人不会像原作者一样快速地理解你所有代码的深刻意义......