作为使用PHP / JS / CSS多年的Web开发人员,我一遍又一遍地重复自己,即使我使用PHP框架,我每次都有同样的感觉,我开始构建新功能所以每次我开始新的东西我感觉'Déjà vu'(我之前写过),我从头开始重写很多东西,尽管我以前写过相同的东西,如果我使用以前的代码,我可能需要更多时间重用它,我喜欢编程和网络开发,但通过这种方式我会失去这个:( ...
问题出在哪里?在语言方面,我建立软件的方式还是什么?答案 0 :(得分:2)
如果我使用以前编写的代码,我可能会花更多时间重复使用它
我相信这是你真正的问题:你写的太多快速而肮脏的代码并且正在遭受由此产生的techincal debt。问题是,短期内快速发展可能导致长期非常缓慢。
如果我可以提供非技术性比较,请考虑使用法拉利和货船。只提供一个字母,与使用货船相比,法拉利显然要快得多,更不用说方便了。在离开码头之前装船只需要几个小时。那时法拉利已经完成了交付。但是当你必须交付一百吨邮件时,货船将完成交付,而法拉利仍然会忙着来回快速地发送每一封信。
在你的情况下也一样。在开发一个单一的网站时,你应该写出最少量的最简单的代码,以便快速完成工作。如果你的整个职业生涯都致力于一个网站,我甚至会说这是正确的方式。毕竟,它是敏捷方法的基本精神。但是,如果您的工作是开发网站 (复数),那么每种新网站的这种方法都会变慢。就像法拉利如何不能提供一百吨任何东西一样。
一个真实世界的例子是37signals。当他们的商业模式要求他们应该能够根据需要快速开发和部署网站时,他们退后一步并开发Ruby on Rails而不是仅仅以快速和肮脏的方式潜入并开发他们的第一个网站。代替。
我并不是说你应该继续开始自己的框架,重新发明轮子正是你想要避免的。我建议的是将您正在开发的功能与Web相关代码分开。换句话说,在编写新代码时将其写为库。是的,与直接在PHP页面中内联功能相比,在两个或更多文件中编写代码更为复杂。但最终您的下一个网站将更容易/更快地实施。
每当我开始一个新项目时,作为habbit,我总是在项目的基本目录中创建一个lib目录。然后,我强迫自己编写所有代码,甚至可以远程重用,作为此目录中的单独模块。这些天我发现,我经常只是将我需要的文件复制(或更常见地创建一个符号链接)到lib目录,而不是编写所需的代码。
答案 1 :(得分:0)
问题是当PHP启动时,每个教程,每个演示和所有代码都是以非常结构化的方式制作的,因为PHP来自C / C ++系列。许多开发人员已经解决了这个问题并且已经开始使用它,并且可以看出我们无法保留这个问题。
现在,我们有PHP 5.3.3可用,我们有名称空间,对象,类,接口和所有这些。许多帮助制作错误代码的东西,如魔术引号和注册全局变量,现在已被弃用。 PHP正在演变为OO世界,花了足够长的时间,但正在发生。因此,如果您想再次开始“重新学习”PHP,我建议您开始使用以下框架:
symfony,joomla,propel,doctrine
了解应用于PHP的mvc和设计模式,您将看到如何开始制作优秀的OO代码,并且在您开始使用之前,deja-vus可能会停止。!
希望我能提供帮助 大卫
答案 2 :(得分:0)
这正是框架是最佳方式的原因。它取出了代码的普通部分(你总是需要像DB连接那样一遍又一遍地编写代码)。
我建议选择一个好的框架(我使用CakePHP,但还有其他像Symphony,Codeignitor,Zend等),并且当你构建各种组件时,你可以在其他项目中重用它们。它将减少编写所有未来项目所需的时间。