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

前端开发者如何消除代码中的技术债务

来源: 责编: 时间:2023-12-04 17:27:05 448观看
导读开发者很可能在无意中给代码增加了技术债务。以下是如何从代码中消除技术债务。译自How Frontend Devs Can Take Technical Debt out of Code。技术债务可以有多种形式。它可能表现为代码中的bug,或者同一部门不同开发

开发者很可能在无意中给代码增加了技术债务。以下是如何从代码中消除技术债务。HFl28资讯网——每日最新资讯28at.com

译自How Frontend Devs Can Take Technical Debt out of Code。HFl28资讯网——每日最新资讯28at.com

技术债务可以有多种形式。它可能表现为代码中的bug,或者同一部门不同开发者的编码实践不统一。HFl28资讯网——每日最新资讯28at.com

技术债务是指任何由于首次没有做对而需要额外工作或重新工作的东西。有时开发者编写的代码在一台机器上运行良好,但是当部署到分布式环境时就会失败 - 这也属于技术债务,BOS Framework的创始人兼CEOShashank Purighalla表示,BOS Framework是一个云基础架构和DevOps自动化平台。HFl28资讯网——每日最新资讯28at.com

“从高层次来看,从业务层面来说,你可以谈到有意的技术债务,几乎每个程序员和每个开发团队由于时间和预算局限都会承担这种债务。” Purighalla说。“同时也存在许多非故意或意外的技术债务,人们简单地不知道自己正在承担这种债务 - 由于知识欠缺,对整个生态系统认知有限,或者局限在自己的视野中。”HFl28资讯网——每日最新资讯28at.com

Purighalla 在接受 The New Stack 的采访时表示,前端和 Web 应用开发者可以帮助解决技术债务。但首先,他们需要知道技术债务的表现。HFl28资讯网——每日最新资讯28at.com

理解技术债务

开发者可以通过各种方式识别技术债务,首先是修复代码中的bug这种最令人讨厌的技术债务。但他说还有其他指标。HFl28资讯网——每日最新资讯28at.com

“高级开发人员通常可以查看代码,并指出:‘我看到某些构造做得不好,或者某些实现可能不太优化。’” Purighalla说。“从识别系统中的bug,到未完成的代码,到实现粗糙,以及从生态系统分析角度略微提升 - 缺少安全构造或某些协议没有正确实现。”HFl28资讯网——每日最新资讯28at.com

过去三年网络攻击的增加证明了软件技术债务的存在,他说。HFl28资讯网——每日最新资讯28at.com

“这是技术债务的后果,我称之为无意的技术债务,因为大多数情况下,技术团队在使用、引入它或者接手该项目时,甚至不知道存在所有这些问题。”他说。HFl28资讯网——每日最新资讯28at.com

全栈思考,前端行动

为了应对技术债务,Purighalla 建议开发者 - 甚至前端开发者 - 应把自己的工作视为一个更大系统的组成部分,而不要孤立看待。HFl28资讯网——每日最新资讯28at.com

“开发者要考虑他们编写的代码是作为一个更大系统的一部分,而不仅仅是那个具体的部分。”他说。“有这样一个工程原则: '对艺术的过度追求完美会损害整体的完整性'。”HFl28资讯网——每日最新资讯28at.com

BOS Framework创始人兼CEO Shashank PurighallaBOS Framework创始人兼CEO Shashank PurighallaHFl28资讯网——每日最新资讯28at.com

这意味着即使不是真正的全栈开发者,开发者也必须具有全栈开发者的思维方式。对前端来说,这具体是要了解网站或Web应用所依赖的底层数据,Purighalla解释道。HFl28资讯网——每日最新资讯28at.com

“这个系统明显是从前端开始的,终端用户通过它与应用程序进行交互,然后它与某种编排层比如API进行交互,然后与后端基础设施交互,最后与数据库交互。”他说。“编排层和前端的实现必须非常小心。”HFl28资讯网——每日最新资讯28at.com

Purighalla说,前端开发者应对他们的应用所依赖的数据负责。例如,前端开发者应知道,他们最终从界面展示或获取的大致有5种类型的数据:HFl28资讯网——每日最新资讯28at.com

  • 机密数据;
  • 高度机密数据;
  • 限制性数据;
  • 内部数据;
  • 公开数据。

根据数据的获取方式以及将数据放回数据库的方式,或者相反,根据从数据库获取并在界面展示数据的方式,这5种类型的数据有不同的要求,他说。HFl28资讯网——每日最新资讯28at.com

“当我们谈论前端Web应用程序时,界面类型也非常重要。”他说。“特别是在AI世界中,你不仅仅是在屏幕上展示数据。你正在谈论一个高度交互的系统,它可能由自然语言处理驱动。所以数据的获取方式非常重要。”HFl28资讯网——每日最新资讯28at.com

例如,前端开发者需要知道何时使用加密、验证码或注册表单。HFl28资讯网——每日最新资讯28at.com

“理解开发者的决策如何直接影响组织及其领导也很重要。”他补充说。“这是开发者经常没有意识到的。”HFl28资讯网——每日最新资讯28at.com

面向所有开发者的标准

要开始减少技术债务,开发团队应采用每个开发者都要遵守的编码标准,他补充说。HFl28资讯网——每日最新资讯28at.com

“最基本的,要考虑命名规范。” Purighalla说。“如何命名变量?公共变量、全局变量、私有变量。”HFl28资讯网——每日最新资讯28at.com

他还建议采用测试驱动开发。在测试驱动开发中,单元测试是在开发实际代码之前创建的。HFl28资讯网——每日最新资讯28at.com

“最起码,测试驱动开发是减少功能和用户体验缺陷的一个非常好的策略。”他说。“所以需求不仅被视为需要验证的清单,而且被视为需要实现的结果的一部分。”HFl28资讯网——每日最新资讯28at.com

测试驱动开发形成一种思维转变,从功能代码完整性或代码完整性的角度来思考代码,他补充说。HFl28资讯网——每日最新资讯28at.com

他还表示,前端还必须考虑自己是否在开发某些内部目的的Web应用,或者面向公众的SaaS应用。可能存在与HIPAA、SOC 2或其他法规相关的合规性问题,他补充说。这与数据和安全的考量结合起来应该指导开发者。HFl28资讯网——每日最新资讯28at.com

这决定了必须遵循的标准类型,以及必须以一定周期进行的代码扫描、代码覆盖率和安全扫描等基本原则。”他说。“要么进行静态代码分析,要么在每个部署周期中完成。”HFl28资讯网——每日最新资讯28at.com

他补充说,优秀的实践必须致力于确保代码可读性,并进行适当的内联文档注释。这可以简单到开发者添加注释说明谁在开发,何时编写,为何编写,存在什么需求,目的是什么,他说。注释还应指明项目中是否存在更深层次的设计文档或顺序图等参考资料。HFl28资讯网——每日最新资讯28at.com

“缺少这些是我们出现大量网络安全漏洞的原因,我不能过分强调这一点,”他说。“如果你可以选择技术栈,有时候就很容易,对吧?如果你用前端采用解释型语言而不是编译型语言,比如 PHP,很容易就可以找到漏洞然后开始攻击系统。即使只有一个小漏洞,也不需要很长时间。如果你使用基础的编译型技术,如果做得好,被攻击的机率会大大降低。”HFl28资讯网——每日最新资讯28at.com

此外,他补充说,组织中的所有开发者都应遵循这些实践的相同标准。HFl28资讯网——每日最新资讯28at.com

“开发者必须明白,自己是更大生态系统的一部分,要构建能融入总体框架的组件,”他说。“从商业视角理解一切,然后按照商业需求反向工作,这可能包括我不会专门编写某些安全构造的要求。”HFl28资讯网——每日最新资讯28at.com


HFl28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-37687-0.html前端开发者如何消除代码中的技术债务

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

上一篇: 2023软件架构和设计的趋势

下一篇: 华为自研的前端框架是什么样的?

标签:
  • 热门焦点
  • 俄罗斯:将审查iPhone等外国公司设备 保数据安全

    iPhone和特斯拉都属于在各自领域领头羊的品牌,推出的产品也也都是数一数二的,但对于一些国家而言,它们的产品可靠性和安全性还是在限制范围内。近日,俄罗斯联邦通信、信息技术
  • 2023 年的 Node.js 生态系统

    随着技术的不断演进和创新,Node.js 在 2023 年达到了一个新的高度。Node.js 拥有一个庞大的生态系统,可以帮助开发人员更快地实现复杂的应用。本文就来看看 Node.js 最新的生
  • 一文掌握 Golang 模糊测试(Fuzz Testing)

    模糊测试(Fuzz Testing)模糊测试(Fuzz Testing)是通过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞的方法。可以用来发现应用程序、操作系统和网络协议等中的漏洞或
  • 小红书1周涨粉49W+,我总结了小白可以用的N条涨粉笔记

    作者:黄河懂运营一条性教育视频,被54万人“珍藏”是什么体验?最近,情感博主@公主是用鲜花做的,火了!仅仅凭借一条视频,光小红书就有超过128万人,为她疯狂点赞!更疯狂的是,这
  • 慕岩炮轰抖音,百合网今何在?

    来源:价值研究所 作者:Hernanderz“难道就因为自己的一个产品牛逼了,从客服到总裁,都不愿意正视自己产品和运营上的问题,选择逃避了吗?”这一番话,出自百合网联合创
  • 破圈是B站头上的紧箍咒

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之每年的暑期档都少不了瞄准追剧女孩们的古偶剧集,2021年有优酷的《山河令》,2022年有爱奇艺的《苍兰诀》,今年却轮到小破站抓住了追
  • 东方甄选单飞:有些鸟注定是关不住的

    文/彭宽鸿编辑/罗卿东方甄选创始人俞敏洪带队的“7天甘肃行”直播活动已在近日顺利收官。成立后一年多时间里,东方甄选要脱离抖音自立门户的传闻不绝于耳,“7
  • 重估百度丨大模型,能撑起百度的“今天”吗?

    自象限原创 作者|程心 罗辑2023年之前,对于自己的“今天”,百度也很迷茫。“新业务到 2022 年底还是 0,希望 2023 年出来一个 1。”这是2022年底,李彦宏
  • 消息称小米汽车开始筛选交付中心:需至少120个车位

    IT之家 7 月 7 日消息,日前,有微博简介为“汽车行业从业者、长三角一体化拥护者”的微博用户 @长三角行健者 发文表示,据经销商集团反馈,小米汽车目前
Top