Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Frameworks 如何规划企业级web应用程序?_Frameworks - Fatal编程技术网

Frameworks 如何规划企业级web应用程序?

Frameworks 如何规划企业级web应用程序?,frameworks,Frameworks,在我的自由职业生涯中,我已经为中小型企业开发了多个web应用程序,这些应用程序支持项目管理、预订/预订和电子邮件管理 我喜欢这项工作,但发现最终我的应用程序达到了一个点,维护的间接成本非常高。回顾我6个月前编写的代码,我发现我必须花一段时间重新学习我最初是如何编写的,然后才能进行修复或添加功能。我确实试着练习使用框架(我以前使用过Zend框架,正在考虑在我的下一个项目中使用Django) 您使用什么技术或策略来规划一个能够处理大量用户的应用程序,而不破坏代码,并且仍然保持代码足够干净,易于维护?

在我的自由职业生涯中,我已经为中小型企业开发了多个web应用程序,这些应用程序支持项目管理、预订/预订和电子邮件管理

我喜欢这项工作,但发现最终我的应用程序达到了一个点,维护的间接成本非常高。回顾我6个月前编写的代码,我发现我必须花一段时间重新学习我最初是如何编写的,然后才能进行修复或添加功能。我确实试着练习使用框架(我以前使用过Zend框架,正在考虑在我的下一个项目中使用Django)

您使用什么技术或策略来规划一个能够处理大量用户的应用程序,而不破坏代码,并且仍然保持代码足够干净,易于维护?
如果有人可以推荐任何书籍或文章,这也将是非常值得赞赏的。

你应该考虑使用SharePoint。这是一个已经设计好的环境,可以实现您提到的所有功能,并且具有许多您可能没有考虑过的其他功能(但可能您将来需要:-)

这是一些来自官方网站的信息。

您可以使用两种不同的SharePoint环境:Windows SharePoint Services(WSS)或Microsoft Office SharePoint Server(MOSS)。WSS是免费的,随Windows Server 2003提供,而MOSS不是免费的,但它有更多的功能,几乎可以满足您企业的所有需求。

我真诚地建议您看看Martin Fowlers。它讨论了许多使应用程序更具组织性和可维护性的方法。此外,我建议使用单元测试来更好地理解代码。KentBeck的关于单元测试的书是学习如何通过单元测试解决代码更改的一个很好的资源

我能给出的最重要的建议是封装所有内容,这有助于将一个旧的web应用程序发展成为一个高可用性、高需求的web应用程序。-特别是

  • 使用好的MVC原则和框架将视图层与业务逻辑和数据模型分开
  • 使用健壮的持久性层,以避免将业务逻辑与数据模型耦合
  • 计划无状态和异步行为
  • 这是一篇关于eBay如何解决这些问题的优秀文章

    尽管关于这一主题的文章确实不错,但没有一篇能取代现实世界的经验

    除了在非常小的项目上,可维护性是您无法直接规划的。这是你在整个项目中需要注意的事情。事实上,提前创建大量的类和基础结构代码可以生成比简单的意大利面代码更难理解的代码

    因此,我的建议是通过不断重构来清理现有项目。看看那些让人难以改变的部分,努力寻找更简单、更容易理解和调整的解决方案。如果代码甚至太差,请考虑从头开始重写。 不要仅仅因为你读了更多的文章或使用了新的框架,就开始新的项目并期望它们成功。相反,找出现有项目的失败并修复它们的特定问题。每当您需要更改代码时,问问自己如何重新构造代码以支持将来类似的更改。这是你无论如何都需要做的,因为将来会有类似的变化

    通过进行这些重构,您将偶然发现各种具体问题,您可以提出这些问题并阅读相关文章。这样,您将学到更多,而不仅仅是询问一般性问题和阅读有关维护和框架的一般性文章

    从今天开始清理代码。不要把它推迟到你未来的项目



    (文档也是如此。每个人的第一份文档都非常糟糕。几个月后,它们变得过于冗长,充满了不重要的内容。因此,用解决您真正遇到的问题的方法来补充文档,因为明年您很有可能会遇到类似的问题。这些经验将比任何“如何写出好作品”的风格指南都更能改进你的写作风格。)

    要提高可维护性,你可以:

    • 如果你是唯一的开发人员,那么就采用一种编码风格并坚持下去。这将使你在以后浏览你自己的代码时,对你可能做过的事情和你绝对不会做的事情充满信心。对在哪里查找、查找什么以及不查找什么充满信心将为你节省大量时间

    • 始终花时间更新文档。将任务纳入开发计划;将该时间作为任何更改或新功能的一部分纳入计划

    • 保持文档平衡:一些高级图表,有意义的注释。最好的注释说明不能从代码本身读取。比如业务原因或某些代码块背后的“为什么”

    • 在计划中包括保持代码结构、文件夹名称、名称空间、对象、变量和例程名称最新并反映其实际功能的努力。这将大大提高可维护性。始终直言不讳.避免大块代码,使用您选择的语言中可用的方法对其进行构造,并为大块代码指定有意义的名称

    • 低耦合和高一致性。确保您掌握实现这些目标的最新技术:契约式设计、依赖注入、方面、设计模式等

    • 从任务管理的角度来看,对于非连续性的工作,您应该估计更多的时间并收取更高的费用。不要犹豫,让客户意识到,您需要额外的时间来进行随时间推移的小型非连续性更改,而不是更大的连续性项目