当前位置:首页 > 科技  > 软件

停止过度设计中等规模的前端应用程序

来源: 责编: 时间:2023-08-14 22:01:07 457观看
导读开发一个小型应用程序很简单。另一方面,开发大规模应用程序极其困难,但至少有大量可用的资源可以指导你。然而,大多数实际应用存在的中间地带,却鲜少受到关注。在软件开发领域,不陷入过度工程化的陷阱,写出可维护的代码的做

开发一个小型应用程序很简单。另一方面,开发大规模应用程序极其困难,但至少有大量可用的资源可以指导你。dL228资讯网——每日最新资讯28at.com

然而,大多数实际应用存在的中间地带,却鲜少受到关注。在软件开发领域,不陷入过度工程化的陷阱,写出可维护的代码的做法,已经越来越少见了。dL228资讯网——每日最新资讯28at.com

让我们探索哪些流行的成分可能对中型应用有益,并评估它们是否会帮助你管理复杂性,或者是否会制造出比解决的问题更多的问题。dL228资讯网——每日最新资讯28at.com

Typescript

YES ✅dL228资讯网——每日最新资讯28at.com

首先,我们来解决这个问题。现在是2023年,对于不在你的开发流程中使用TypeScript,实在没有任何借口。所有顶级的前端框架都推荐使用它,而且它们的构建过程使得开始使用变得非常容易。dL228资讯网——每日最新资讯28at.com

Typescript是JavaScript的超集,它增加了类型注解、接口以及其他功能,使编写可维护和可扩展的代码变得更加容易。它可以帮助在开发过程的早期捕捉错误,并且可以使得随着应用程序的增长,重构代码变得更加容易。dL228资讯网——每日最新资讯28at.com

状态管理

YES ✅dL228资讯网——每日最新资讯28at.com

状态管理是任何中等规模前端应用的另一个重要考虑因素。随着你的应用复杂度的增长,管理状态变得越来越困难。有许多库和框架可以帮助解决这个问题,例如Redux,MobX,Vuex和Pinia。这些工具可以帮助你维护一个一致的应用状态,并使添加新的功能和特性变得更容易。然而,要注意全局状态会产生耦合,你应该强烈考虑将你的存储分割成多个模块。另外,避免滥用它来处理那些不应全局可用的事物,如组件状态。dL228资讯网——每日最新资讯28at.com

功能标志

YES ✅dL228资讯网——每日最新资讯28at.com

功能标志,也被称为功能切换,允许我们在运行时和无需新的部署中切换代码库中的特定功能。这是一种强大的技术,有助于发布新功能,进行A/B测试,并有效管理开发和部署过程。它们可以带来更大的灵活性,更快的发布,以及与部署新功能相关的风险降低。有各种库和工具可用于在不同的语言和框架中实现功能标志。dL228资讯网——每日最新资讯28at.com

测试

YES & NO ❓dL228资讯网——每日最新资讯28at.com

测试是任何应用程序开发过程的重要部分。单元测试、集成测试和端到端测试是一些常用的测试方法,它们可以提高代码质量,并在长期内节省时间。可测试的代码通常是更好的代码,而在开发早期创建测试用例可以确保应用程序会有更少的错误,并且在新人加入时会更容易。dL228资讯网——每日最新资讯28at.com

另一方面,在大规模应用中,你可能会遇到许多在较小代码库中可能并不必要的测试类型。其中包括变异测试、负载测试、压力测试、性能测试、视觉测试、快照测试等等。dL228资讯网——每日最新资讯28at.com

在处理中等规模的应用程序时,找到在编写足够的测试以确保稳定性和不过度工程化测试过程之间的平衡非常重要。我们应该专注于创建一个坚实的单元测试和集成测试基础来覆盖应用程序。dL228资讯网——每日最新资讯28at.com

CI/CD

YES ✅dL228资讯网——每日最新资讯28at.com

现代软件开发的另一个重要部分是持续集成和交付。通过CI/CD,我们可以自动化构建、测试和部署过程,节省时间并减少错误。使用一个好的CI/CD工具可以使我们的开发过程更高效,并确保我们的应用程序始终准备好进行部署。dL228资讯网——每日最新资讯28at.com

领域驱动设计

NO ⛔️dL228资讯网——每日最新资讯28at.com

领域驱动设计是一种软件开发方法,强调对核心业务领域的建模,构建开发人员和利益相关者共享的普遍语言,并根据领域的复杂性设计软件组件。虽然在具有复杂业务逻辑和多个团队协作的大型应用程序中,DDD可能非常有用,但对于中型应用程序来说,可能会过度。dL228资讯网——每日最新资讯28at.com

对于中等规模的应用程序,简洁的架构和注重清晰、模块化代码的重点往往足以确保可维护性和可扩展性。DDD可能会增加不必要的开销和复杂性,这可能不会为项目带来显著的好处。相反,考虑采用更简单的架构模式和实践,以促进代码组织、关注点分离和可重用性。dL228资讯网——每日最新资讯28at.com

Hexagonal Architecture 六边形架构

NO ⛔️dL228资讯网——每日最新资讯28at.com

六边形架构,也被称为端口和适配器,是另一种旨在在应用程序的核心业务逻辑和其外部依赖(如数据库、API和用户界面)之间创建清晰分离的架构模式。这种分离允许更大的灵活性、可测试性和可维护性。dL228资讯网——每日最新资讯28at.com

与DDD类似,实施六边形架构对于具有复杂业务逻辑和众多外部依赖的大型应用程序可能是有益的,但对于中型应用程序来说,这绝对是过度设计。dL228资讯网——每日最新资讯28at.com

微前端

NO ⛔️dL228资讯网——每日最新资讯28at.com

微前端是一种流行的架构模式,它将大型应用程序分割成基于特性或领域的较小、独立的应用程序。这些较小的应用程序可以独立开发、测试和部署,从而实现更大的可扩展性和灵活性。dL228资讯网——每日最新资讯28at.com

然而,对于中等规模的应用程序,引入微前端可能并不必要,反而可能增加复杂性和开销,超过其带来的好处。更传统的单体架构,结合良好组织的代码库和适当的组件使用,可能更适合大多数中等规模的应用程序。如果将来有需要,可以重新考虑过渡到微前端的决定。dL228资讯网——每日最新资讯28at.com

CDN

YES ✅dL228资讯网——每日最新资讯28at.com

使用CDN是一种快速、简单且成本效益高的方法,通过缓存内容并从离终端用户更近的服务器提供服务,可以提高您的应用程序的性能和可靠性。dL228资讯网——每日最新资讯28at.com

Linting

YES ✅dL228资讯网——每日最新资讯28at.com

Linting是一种分析代码以检测潜在错误、不一致性和偏离已建立编码标准的过程。这是一种维护代码质量、提前捕获问题以及提高整体可读性和可维护性的简单快速的方法。dL228资讯网——每日最新资讯28at.com

Observability  可观察性

YES ✅dL228资讯网——每日最新资讯28at.com

中等规模的应用程序是观察性开始变得至关重要,并可能节省大量时间和金钱的时候。通过在您的应用程序中设置观察性,我们可以轻松监控、理解并排除系统性能和整体健康状况的问题。dL228资讯网——每日最新资讯28at.com

有多种工具和技术可用于在你的应用程序中构建可观察性,例如日志记录、度量收集和分布式追踪。目标是快速识别并解决问题,保持应用程序的性能,并尽量减少停机时间。dL228资讯网——每日最新资讯28at.com

Accessibility 无障碍性

YES ✅dL228资讯网——每日最新资讯28at.com

无障碍并不仅仅是一个选项,它更是一项责任!确保你的应用程序对所有用户,包括那些有残疾的用户,都是可访问的,这不仅是正确的做法,而且在某些国家,这也是法律要求。作为前端工程师,我们有责任创建无障碍的网站,并且我们应该将其作为我们工作流程的一部分,纳入我们的完成定义中。dL228资讯网——每日最新资讯28at.com

Design system 设计系统

NO ⛔️dL228资讯网——每日最新资讯28at.com

设计系统是一套可复用的组件、指南和设计原则的集合,用于在多个应用程序或平台上设计一致的用户界面。虽然对于拥有多个产品和团队的大型组织来说,实施设计系统可能非常有益,但对于中等规模的应用程序来说,这可能是不必要的。dL228资讯网——每日最新资讯28at.com

而不是投入时间和资源去创建一个全面的设计系统,你应该专注于根据你的需求配置现有的组件库,并在你的应用程序中建立一套指南和可重复使用的组件,以保持一致性并提高开发者的效率。dL228资讯网——每日最新资讯28at.com

总结

过度工程化是所有恶的根源。当涉及到中等规模的应用开发时,我们大多数人都有罪。有些工具和技术是至关重要的,而有些则不值得投入,但重要的是要设定并维持一种通用的编码风格,利用自动化防止错误进入生产环节,并保持技术债务的低水平。dL228资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-5717-0.html停止过度设计中等规模的前端应用程序

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 计算机底层原理~CPU缓存一致性

下一篇: SpringBoot使用WebSocket实现即时消息

标签:
  • 热门焦点
  • 小米官宣:2023年上半年出货量中国第一!

    今日早间,小米电视官方微博带来消息,称2023年小米电视上半年出货量达到了中国第一,同时还表示小米电视的巨屏风暴即将开始。“公布一个好消息2023年#小米电视上半年出货量中国
  • CSS单标签实现转转logo

    转转品牌升级后更新了全新的Logo,今天我们用纯CSS来实现转转的新Logo,为了有一定的挑战性,这里我们只使用一个标签实现,将最大化的使用CSS能力完成Logo的绘制与动画效果。新logo
  • 分享六款相见恨晚的PPT模版网站, 祝你做出精美的PPT!

    1、OfficePLUSOfficePLUS网站旨在为全球Office用户提供丰富的高品质原创PPT模板、实用文档、数据图表及个性化定制服务。优点:OfficePLUS是微软官方网站,囊括PPT模板、Word模
  • 学习JavaScript的10个理由...

    作者 | Simplilearn编译 | 王瑞平当你决心学习一门语言的时候,很难选择到底应该学习哪一门,常用的语言有Python、Java、JavaScript、C/CPP、PHP、Swift、C#、Ruby、Objective-
  • 2023年,我眼中的字节跳动

    此时此刻(2023年7月),字节跳动从未上市,也从未公布过任何官方的上市计划;但是这并不妨碍它成为中国最受关注的互联网公司之一。从2016-17年的抖音强势崛起,到2018年的“头腾
  • 年轻人的“职场羞耻感”,无处不在

    作者:冯晓亭 陶 淘 李 欣 张 琳 马舒叶来源:燃次元“人在职场,应该选择什么样的着装?”近日,在网络上,一个与着装相关的帖子引发关注,在该帖子里,一位在高级写字楼亚洲金
  • 华为Mate 60系列用上可变灵动岛:正式版体验将会更出色

    这段时间以来,关于华为新旗舰的爆料日渐密集。据此前多方爆料,今年华为将开始恢复一年双旗舰战略,除上半年推出的P60系列外,往年下半年的Mate系列也将
  • 苹果公司要求三星和LG Display生产「无边框」OLED iPhone显示屏

    据 The Elec 报道,苹果已要求其供应商为未来的 iPhone 型号开发「无边框」OLED 显示面板。苹果显然已要求三星和 LG Display 开发新的 OLED 显示面
  • 电博会上海尔智家模拟500平大平层,还原生活空间沉浸式体验

    电博会为了更好地让参展观众真正感受到智能家居的绝妙之处,海尔智家的程传岭先生同样介绍了展会上海尔智家的模拟500平大平层,还原生活空间沉浸式体验。程传
Top