Workflow 单独的程序员一起或一个接一个地做前端和后端

Workflow 单独的程序员一起或一个接一个地做前端和后端,workflow,backend,frontend,Workflow,Backend,Frontend,我使用PHP和CodeIgniter(MVC框架)。我的问题相当简单。根据你的看法,在处理稍微复杂的网站时,更好的方法是什么 在计划之后,列出网站的所有大小功能,以及它们的位置,并为数据库规划表和列 到现在为止,我只是开始一次构建一页。处理CSS问题,同时执行行为(JavaScript)和后端 根据您的经验,在前端完全处理所有问题、完成所有工作是否更有效。然后处理后端逻辑 JavaScript呢?(只在前端执行与用户界面相关的JavaScript+验证,然后在后端执行所有AJAX调用和响应…)我

我使用PHP和CodeIgniter(MVC框架)。我的问题相当简单。根据你的看法,在处理稍微复杂的网站时,更好的方法是什么

在计划之后,列出网站的所有大小功能,以及它们的位置,并为数据库规划表和列

到现在为止,我只是开始一次构建一页。处理CSS问题,同时执行行为(JavaScript)和后端

根据您的经验,在前端完全处理所有问题、完成所有工作是否更有效。然后处理后端逻辑


JavaScript呢?(只在前端执行与用户界面相关的JavaScript+验证,然后在后端执行所有AJAX调用和响应…)

我强烈建议采用迭代方法,即增量开发前端和后端

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


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

我没有用PHP编写MVC,但我使用WPF/C的经验应该是类似的。我从体系结构开始(我使用DI容器将所有内容放在一起),然后我用一个非常简单的UI创建了第一个ViewModel,以检查是否一切正常(是的,TDD更合适,不管怎样)。我继续这样做,并没有真正专注于用户界面,除非我需要一个按钮左右。过了一会儿,我完成了ViewModel,专注于UI,对其进行了润色


如果您在这三个组件之间跳转,我看不出有什么问题,因为您需要这三个组件才能使页面正常工作。而且,你在工作的时候也不会那么容易感到无聊。只是不要失去你的目标,努力完成大部分功能。UI抛光可以在事后完成,并且由于MVC方法,不需要花费太多时间。

您提出的是一个非常笼统的问题,夹杂着一些细节

我理解的一般问题是:就编写软件而言,最好是自下而上(先编写数据库调用,然后编写业务逻辑,然后再编写ui)还是自上而下(先编写ui,然后编写业务逻辑,再编写数据库调用)

为了尽早解决UI问题,自上而下很好。它将业务逻辑和数据访问(可能还有其他基础架构代码)留给以后处理

为了尽早解决基础设施问题,自下而上是很好的,将UI留到最后

这两种方法都是有效的,如果你是单一的开发人员,那么归结起来就是这样的——你更喜欢哪一种

就个人而言,我会使用完整的功能,一次一页——确保所有功能都正常工作(在有意义的地方使用单元测试和验收测试)。这样,您可以同时处理所有方面的问题,并且可以更快地解决问题


您希望对软件的所有方面—UI、业务逻辑、数据访问和其他基础架构—有一个简短的反馈循环。越短越好-它可以让你在事情变得太大而无法优雅地改变之前快速解决问题,并向客户展示你正在取得的进展,让他们尽早引导你。

+1,合理的建议。你需要一个稳定的基础来构建每一层的功能,你还需要不断地验证你写的后端是如何与前端的需求相对应的等等(因为我们都认为我们知道一个很好的方法来完成它,直到我们真正坐下来处理工作流程!)。