新手要求有经验的程序员:从头开始重写 - 推荐还是不推荐?

时间:2012-08-21 21:43:06

标签: refactoring project-management rewrite computer-science

我是一个自我思考的新手程序员,我正在开发我的第一个Web应用程序 - 一个用户可以注册,登录,然后将内容发布到数据库或搜索数据库的网站。

我目前约有150个文件,并且在此过程中学到了很多东西。我的编码技巧已经超越了屋顶(与之前相比)。

现在我处于一个有点陷入困境的地步。我知道我的网站还有很多安全问题(我知道该怎么做才能修复它们),我也意识到我使用了折旧功能(旧的PHP mySQL API),我刚刚发现了一个更好的处理帖子的方法数据。我也注意到,我的网站开始变得缓慢,我认为有几个地方我可以压缩我的代码。

我试图让我的代码整洁,有条理,结构合理。但是,当我添加它们时,一些文件已经失控了。我最糟糕的文件之一是550行长,其他文件我无法弄清楚我到底在做什么......

我在从头开始重写所有内容并尝试解决这些问题的想法之间来回徘徊。我知道这些问题。

我觉得我可以做得更好,从一开始就做到这一点(毕竟自从我开始以来我获得了很多经验)。另一方面,我确信它会永远消失,即使我可以复制并粘贴几个部分。

就像我说的那样,我学到了许多新的功能和技术,我现在可以实现,以改善网站 - 但我也担心在未来几个月我可能会遇到类似的问题,并发现自己处于辩论是否重写代码的相同位置。

所以我对有经验的程序员的问题是: 新手从头开始重写代码是不是一个好主意? 或者,经过一段时间的编程后,每个程序员都会发现自己处于这个位置,一切似乎都需要改造?

我确实读过这篇文章When to rewrite a code base from scratch,但我觉得我的问题来自不同的观点。这不像我已经交了这个代码,但我自己写了!

1 个答案:

答案 0 :(得分:2)

关于Things You Should Never Do的经典Joel Spolsky文章可能值得一读。

你很少有机会重写(IMO经验,从不),所以你也可以学习如何修复你的代码。