2010-09-12 19 views
4

我使用PHP和CodeIgniter(MVC框架)。我的问题很简单。在一个稍微复杂的网站上工作时,根据你的是更好的方法。孤独的程序员一起做前端后端或一个接一个

计划完成后,列出网站的所有小和大特征以及它们将要在哪里并规划出数据库的表和列。

我会一直到现在才开始构建一个页面。处理CSS问题,同时执行行为(JavaScript)和后端。

根据您的经验,前端完全处理所有问题,完成所有任务都更有效率。然后在后端逻辑上工作?

JavaScript呢? (只做用户界面相关的JavaScript +验证与前端 - 然后做所有的AJAX调用和响应与后端..?)

回答

11

我会强烈建议一种迭代方法,在那里你开发前端和后端递增。

在你可以进行单元测试的后端获得一些简单的工作,然后构建一个简单的UI,与之交互并实现前端功能。彻底测试。重复,直到完成。

如果您不这样做,那么您会发现很难验证功能是否正常工作。因此,在最后粘贴在一起将是一场噩梦:最好你会花费大量的时间进行调试,最坏的情况下你会发现一个主要的设计缺陷,并且必须重写大部分代码库。

+1

+1,声音忠告。你需要一个稳定的基础来建立每一层功能,你还需要不断验证你写的后端对应于前端的需求等等(因为我们都认为我们知道一个很好的方式来做到这一点,直到我们实际上是在工作流程中坐下来的!)。 – 2010-09-12 19:14:08

1

我没有用PHP做MVC,但我对WPF/C#的体验应该是相似的。我开始使用架构(我使用DI容器将所有东西放在一起),之后,我做了第一个ViewModel以及一个非常简单的UI,以检查是否所有内容都按顺序排列(是的,TDD会更合适, )。我继续说,并没有真正关注用户界面,除非我需要一个按钮左右。过了一段时间,我完成了ViewModel并专注于用户界面,将其抛光。

如果您在所有三个组件之间跳转,我不会看到问题,因为您需要全部三个网页才能工作。另外,你在工作时不会感到无聊。只是不要失去目标,并努力完成大部分功能。之后可以进行UI抛光,并且由于MVC方法不应该花费太多时间。

1

你问一个非常普遍的问题,有一些细节混合...

我理解的一般问题是:在编写软件方面 - 它是最好先写自下而上(数据库调用,业务下一个逻辑,之后的ui)或自上而下(首先是业务逻辑,数据库调用)。

自顶向下很好,以便尽早消除UI问题。它留下了业务逻辑和数据访问(以及其他可能的基础设施代码)供以后使用。

为了尽早消除基础设施问题,将UI留到最后,自下而上做得很好。

这两种方式都是有效的,如果你是单个开发者,它可以归结为这一点 - 你更喜欢哪一个?个人而言,我将全功能,一次一页 - 确保一切正常(单元和验收测试在何处有意义)。这样你可以同时处理所有方面的问题,并且可以更快地解决问题。

您希望在软件的所有方面(UI,业务逻辑,数据访问和其他基础架构)都有一个简短的反馈循环。越快越好 - 它可以让你在变得太大之前快速修复,不能够优雅地改变,并向客户展示你正在取得的进展,让他们尽早引导你。

相关问题