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

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

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

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

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

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

Typescript

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

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

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

状态管理

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

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

功能标志

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

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

测试

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

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

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

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

CI/CD

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

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

领域驱动设计

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

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

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

Hexagonal Architecture 六边形架构

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

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

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

微前端

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

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

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

CDN

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

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

Linting

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

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

Observability  可观察性

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

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

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

Accessibility 无障碍性

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

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

Design system 设计系统

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

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

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

总结

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

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

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

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

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

标签:
  • 热门焦点
  • 红魔电竞平板评测:大屏幕硬实力

    前言:三年的疫情因为要上网课的原因激活了平板市场,如今网课的时代已经过去,大家的生活都恢复到了正轨,这也就意味着,真正考验平板电脑生存的环境来了。也就是面对着这种残酷的
  • 中兴AX5400Pro+上手体验:再升级 双2.5G网口+USB 3.0这次全都有

    2021年11月的时候,中兴先后发布了两款路由器产品,中兴AX5400和中兴AX5400 Pro,从产品命名上就不难看出这是隶属于同一系列的,但在外观设计上这两款产品可以说是完全没一点关系
  • vivo TWS Air开箱体验:真轻 臻好听

    在vivo S15系列新机的发布会上,vivo的最新款真无线蓝牙耳机vivo TWS Air也一同发布,本次就这款耳机新品给大家带来一个简单的分享。外包装盒上,vivo TWS Air保持了vivo自家产
  • 10天营收超1亿美元,《星铁》比《原神》差在哪?

    来源:伯虎财经作者:陈平安即便你没玩过《原神》,你一定听说过的它的大名。恨它的人把《原神》开服那天称作是中国游戏史上最黑暗的一天,有粉丝因为索尼在PS平台上线《原神》,怒而
  • “又被陈思诚骗了”

    作者|张思齐 出品|众面(ID:ZhongMian_ZM)如今的国产悬疑电影,成了陈思诚的天下。最近大爆电影《消失的她》票房突破30亿断层夺魁暑期档,陈思诚再度风头无两。你可以说陈思诚的
  • 当家的盒马,加速谋生

    来源 | 价值星球Planet作者 | 归去来自己“当家”的盒马,开始加速谋生了。据盒马官微消息,盒马计划今年开放生鲜供应链,将其生鲜商品送往食堂。目前,盒马在上海已经与
  • 认真聊聊东方甄选:如何告别低垂的果实

    来源:山核桃作者:财经无忌爆火一年后,俞敏洪和他的东方甄选依旧是颇受外界关心的“网红”。7月5日至9日,为期5天的东方甄选“甘肃行”首次在自有App内直播,
  • 华为HarmonyOS 4.0将于8月4日发布 或搭载AI大模型技术

    华为宣布HarmonyOS4.0将于8月4日正式发布。此前,华为已经针对开发者公布了HarmonyOS4.0,以便于开发者提前进行适配,也因此被曝光出了一些新系统的特性
  • 7月4日见!iQOO 11S官宣:“鸡血版”骁龙8 Gen2+200W快充加持

    上半年已接近尾声,截至目前各大品牌旗下的顶级旗舰都已悉数亮相,而下半年即将推出的顶级旗舰已经成为了数码圈爆料的主流,其中就包括全新的iQOO 11S系
Top