【问题标题】:Front-end first or back-end?先前端还是后端?
【发布时间】:2010-09-01 12:55:03
【问题描述】:

您好,我必须在 MS ASP.NET 中使用 WebForms 做一个小型 CMS 应用程序。 我自己做所有事情:前端和后端以及数据库架构。

现在想开发网站,不知道是先从前端开始,还是从后端开始。

考虑到这是一个小项目,你们能否给我一个步骤列表,我可以更好地遵循这些步骤,以帮助确定开发我的应用程序的最佳顺序是什么?

再次感谢您的宝贵时间。

【问题讨论】:

标签: asp.net webforms


【解决方案1】:

大部分时间你都会开发所有层

对于某些页面,您可以先创建数据库架构并用一些虚拟数据填充它,然后再逐步向上。

对于其他人,您可以从页面本身开始,然后编写使其工作所需的功能。尤其是当这个页面没有被充分设想时。这不是坏事,也不是好事。这正是发展的趋势。

一些注意事项

遵循敏捷开发

  1. 以用户故事的形式写下一些需求(并跟踪它们),这些需求不提供有关页面、数据等的任何信息。就像 作为用户,我希望有主导航在我的页面上。这种故事将允许以后对代码/页面进行更改,而故事不会变得无效。
  2. 一开始不要急于使用功能齐全的东西。不要过度设计你的代码。因为您稍后会进行更改 = 跟随 YAGNI。例如,一开始不要完全设计您的数据库。为每个正在开发的故事做尽可能多的事情。但请考虑一下您必须集成到现有代码库中的未来内容。
  3. 当您发现需要更改某些内容时,立即重构现有代码。
  4. 如果您有人来测试您的代码,请让他们来测试。在现有错误完全解决之前,不要开发下一个故事。以后你会感激不尽的。
  5. 如果您的代码是半复杂的,我建议您编写单元测试,这样以后的代码更改不会破坏现有功能。

最重要的是:边做边学并在此过程中更改现有代码。由于您正在学习这些技术,我建议您首先坚持简单。您将在需要时添加更复杂的内容。其中一些根本不会完成。所以最后你会意识到 YIDNI(是的,我不需要它)。

【讨论】:

  • 我同意。如果我们承认我们会边走边学这一事实,那么就没有真正的动力来完全完成另一层,因为我们很可能会在此过程中对两者进行重构。
  • 谢谢罗伯特,我会考虑你的名单!
【解决方案2】:

我通常首先写下我的需求,如果我需要使用数据库,我总是先创建它。在我的数据库之后,我开始在连接和使用我已经创建的数据库的前端工作。

我最后担心的是前端,你可以随时很容易地改变它

【讨论】:

    【解决方案3】:

    我想说,在许多系统中,后端用于支持前端工作所需的功能。如果你不知道前端需要什么,那么成功设计后端的机会就很小。因此,我首先会先放置一个粗略的前端(即使只是一个纸质原型)。

    【讨论】:

      【解决方案4】:

      出于一个简单的原因 - 可测试性,我倾向于使用从后到前的方法来处理我的所有项目。尽早针对后端编写可靠的测试将使逐步在其他层上工作变得更容易。它还因为“奖励”有助于将业务逻辑排除在不属于它的地方。

      【讨论】:

        【解决方案5】:

        我发现先开发逻辑和后端会更容易,这样我就可以做到这一点,然后再将接口应用到它上面。这样您就可以避免根据您认为需要的前端编写功能。

        了解您想要做/处理的事情的范围很重要,并首先尝试在后端实现它。然后将它包装在一个漂亮的界面中!

        【讨论】:

          猜你喜欢
          • 2011-03-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-09-17
          • 2014-03-09
          • 2012-08-19
          • 2012-02-23
          • 1970-01-01
          相关资源
          最近更新 更多