【问题标题】:What level of complexity requires a framework?什么级别的复杂性需要一个框架?
【发布时间】:2010-09-09 06:15:42
【问题描述】:

在何种复杂程度下必须切换到现有的 Web 开发框架?

对于 Web 开发而言,哪种复杂性测量方法是实用的?代码长度?功能列表?数据库大小?

【问题讨论】:

    标签: frameworks complexity-theory


    【解决方案1】:

    我会说反之亦然。在某些时候,您的项目变得如此庞大,以至于您实际上会因框架的缺点而减慢速度。实际上,对于足够大的项目,您最好开发自己的框架以满足您自己的需求。我曾多次看到人们在他们可以做出的决定或他们可以生产的工作上受到阻碍,因为他们试图做一些框架没有预料到的事情。而做这些框架没有预料到的事情可能会很麻烦。制作自己的框架的好处在于,它可以随着您的项目而发展,对您的系统有所帮助,而不是阻碍。

    因此,总而言之,小型项目应该使用现有框架。大型项目应该包含自己的框架。

    【讨论】:

      【解决方案2】:

      考虑问题可能有问题。许多最复杂的网站不使用任何流行的、预先存在的框架。谷歌有自己的网络服务器和自己的自定义处理方式,亚马逊也有,可能还有很多其他网站。

      如果一个框架使您的任务更容易,或提供附加值,那就去吧。但是,当您获得该框架时,您将被绑定到一个新的依赖项。我开始实质上重新创建 Joel on Software 帖子,因此我将在此处重定向您,以了解更多关于向您的代码添加不需要的依赖项的信息:​​

      http://www.joelonsoftware.com/articles/fog0000000007.html

      【讨论】:

        【解决方案3】:

        所有框架和库都是您可以使用的工具。确定哪些会使您的给定项目的生活更轻松并使用它们。

        【讨论】:

          【解决方案4】:

          有一些框架可以通过简单的博客djangoRoR 一直到企业全栈应用程序Zope 快速移动。不仅限于嗡嗡声世界,您还拥有 ASP.Net 和 J2EE 等。

          【讨论】:

            【解决方案5】:

            这确实是两个问题,你知道的。 :-) 第一个问题的答案是它从来都不是强制,但老实说,直接解析 HTML 请求参数从一开始就非常糟糕。我一次都不想做,所以我倾向于相对较早地使用框架。

            至于什么测量是实用的,那么,你担心什么?您列出的所有描述都有价值。在我看来,数据库大小对扩展很重要(如果你有一个非常简单的模式,你可以编写一个非常简单的应用程序,即使数据库中有数十万行)。功能列表可能会决定 UI 页面的数量和复杂性,这反过来又有助于规定代码长度。

            【讨论】:

              【解决方案6】:

              如果您在多个不同的网站上工作,那么通过在所有网站上使用一个通用框架,您可以花时间处理代码,而不是试图记住什么位于何处以及为什么。

              我总是使用某种框架,即使它是您自己的,因为统一性将帮助您构建项目。除非它是一个单页静态 HTML 项目。

              但是没有强制限制。

              【讨论】:

                【解决方案7】:

                从不“强制”。任何框架都不能很好地解决一些问题。当您正在实现的大部分代码已经由相关框架以适合您的特定应用程序的方式实现时,建议切换到框架。这可以节省您的时间和精力,并且很可能比您编写的新代码更稳定。

                【讨论】:

                  【解决方案8】:

                  所有因素都很重要。您应该衡量使用 3rd 方框架可以节省多少时间,并将其与使用其他代码的风险进行比较

                  【讨论】:

                  • 我认为你的意思是“比较”而不是“对抗”。
                  【解决方案9】:

                  我不认为有一定程度的复杂性需要框架。对我来说,每当我写一个动态网站时,我都会立即考虑一个框架,如果它可以节省我的时间,我会使用它(它几乎总是这样做,我几乎总是这样做)。

                  【讨论】:

                    猜你喜欢
                    • 2010-10-21
                    • 2013-11-09
                    • 1970-01-01
                    • 2015-11-25
                    • 2021-11-23
                    • 1970-01-01
                    • 1970-01-01
                    • 2012-10-28
                    • 2021-10-23
                    相关资源
                    最近更新 更多