我是一名初学者Web开发人员(一年的经验)。
毕业几周后,我得到了一份工作,为一家所有者不是很多技术人员的公司构建Web应用程序。他招募我是为了避免他的想法失窃,服务公司收取高昂的开发成本,并希望他有一个年轻的人来长期维护该项目(我被录用后很久才得出这些结论)。
当时我还是Cocky,拥有计算机科学文凭,我接受了这个提议,认为我可以构建任何东西。
我在做主。经过一些研究,我选择了PHP,并从纯PHP开始,没有对象,只有丑陋的过程代码。两个月后,一切都变得混乱了,很难取得任何进展。Web应用程序非常庞大。因此,我决定检查一个MVC框架,这将使我的生活更轻松。那就是我偶然发现PHP社区中一个很酷的孩子的地方:Laravel。我喜欢它,它很容易学习,因此我立即开始编码。我的代码看起来更简洁,更有条理。看起来很好。
但是同样,Web应用程序非常庞大。该公司迫使我交付第一个版本,显然他们希望部署该版本并开始寻找客户。
因为Laravel很有趣,所以让我想起了为什么我首先选择了这个行业-在陷入糟糕的教育体系时我忘记了这一点。
因此,我从晚上开始从事小型项目,了解方法和最佳实践。我回顾了OOP,然后进行了面向对象的设计和分析,并阅读了Bob叔叔的书Clean Code。
这使我意识到我真的一无所知。我不知道如何正确地构建软件。但是到现在为止为时已晚,现在我快完成了。我的代码根本不是干净的,仅仅是意大利面条式的代码,是修复错误的真正痛苦,所有逻辑都在控制器中,并且几乎没有面向对象的设计。
我一直坚持认为我必须重写整个项目。但是,我做不到……他们一直在问什么时候才能完成。
我无法想象此代码部署在服务器上。另外,我仍然对代码效率和Web应用程序的性能一无所知。
一方面,公司正在等待产品,不能再等待了。另一方面,我看不到实际代码会更进一步。我可以完成,总结并部署,但是上帝只知道人们开始使用它时会发生什么。
我要重写还是继续尝试发送,还是错过了另一个选择?