在另一个问题中,主题是关于评估自己代码质量的方法。我的建议之一是在几年内进行复习,那时您的经验比编写代码时要高得多。我对另一个问题的回答的一句话与您的问题直接相关:
“在我的情况下,寿命为一年:这意味着我可以修改六个月前编写的代码,但是如果代码是两年前编写的,则很有可能被抛出,然后被完全重写,因为太烂了。”
因此,是的,实际上,从一年的角度来看,我编写的每段代码都变得难以忍受。我说的不是一次性的代码,而是我在编写代码时就牢记的质量,可维护性和可读性。目前,没有例外。
要回答有关寿命的第二个问题,它有很大的不同。一次性代码的寿命为零秒:编写代码后即会烂掉,但这并不重要。一些代码片段我已经写了可以承受的两年后,但需要一些化妆品的变化:有点重构的,强制执行的规则了StyleCop等。平均而言,我的准确情况下,寿命变化八个月至一年的C#,PHP则需要两个六个月。
我会重新查看旧代码吗?是的,当然,作为每个开发人员,除非您不关心DRY并一次又一次地重新发明自己的轮子。如果您有在许多项目中使用的通用代码库,也有机会非常频繁地检查和改进代码。另一点是,如果您从事大型项目,有些项目可能会花费您数年时间,因此您将不得不重新查看旧代码。
我遇到的一些开发人员争辩说,他们已经处在进化阶段,他们的编码不需要改进或无法得到改进。
当一个人说她是如此完美,以至于不需要学习任何东西时,这意味着她甚至无法理解自己的愚蠢程度。
即使您在计算机/编程方面拥有二十年的经验,但事情变化太快,因此总会有新的东西需要学习,并且需要新的技术来改进代码。例如,使用.NET Framework 3.0编写的C#代码很可能可以通过我们今天拥有的新内容(包括Linq,代码合同等)来提高可读性和更好性,即使旧代码也是如此。由最聪明的开发人员编写。