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

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

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

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

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

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

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

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

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

理解技术债务

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

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

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

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

全栈思考,前端行动

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

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

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

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

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

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

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

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

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

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

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

面向所有开发者的标准

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

标签:
  • 热门焦点
  • 一加首款折叠屏!一加Open渲染图出炉:罕见单手可握小尺寸

    8月5日消息,此前就有爆料称,一加首款折叠屏手机将会在第三季度上市,如今随着时间临近,新机的各种消息也开始浮出水面。据悉,这款新机将会被命名为“On
  • 三分钟白话RocketMQ系列—— 如何发送消息

    我们知道RocketMQ主要分为消息 生产、存储(消息堆积)、消费 三大块领域。那接下来,我们白话一下,RocketMQ是如何发送消息的,揭秘消息生产全过程。注意,如果白话中不小心提到相关代
  • 一个注解实现接口幂等,这样才优雅!

    场景码猿慢病云管理系统中其实高并发的场景不是很多,没有必要每个接口都去考虑并发高的场景,比如添加住院患者的这个接口,具体的业务代码就不贴了,业务伪代码如下:图片上述代码有
  • 零售大模型“干中学”,攀爬数字化珠峰

    文/侯煜编辑/cc来源/华尔街科技眼对于绝大多数登山爱好者而言,攀爬珠穆朗玛峰可谓终极目标。攀登珠峰的商业路线有两条,一是尼泊尔境内的南坡路线,一是中国境内的北坡路线。相
  • Temu起诉SHEIN,跨境电商战事升级

    来源 | 伯虎财经(bohuFN)作者 | 陈平安日前据外媒报道,拼多多旗下跨境电商平台Temu正对竞争对手SHEIN提起新诉讼,诉状称Shein“利用市场支配力量强迫服装厂商与之签订独家
  • 腾讯VS网易,最卷游戏暑期档,谁能笑到最后?

    作者:无锈钵来源:财经无忌7月16日晚,上海1862时尚艺术中心。伴随着幻象的精准命中,硕大的荧幕之上,比分被定格在了14:12,被寄予厚望的EDG战队以绝对的优势战胜了BLG战队,拿下了总决
  • 华为发布HarmonyOS 4:更好玩、更流畅、更安全

    在8月4日的华为开发者大会2023(HDC.Together)大会上,HarmonyOS 4正式发布。自2019年发布以来,HarmonyOS一直以用户为中心,经历四年多的发展HarmonyOS已
  • 2022爆款:ROG魔霸6 冰川散热系统持续护航

    喜逢开学季,各大商家开始推出自己的新产品,进行打折促销活动。对于忠实的端游爱好者来说,能够拥有一款梦寐以求的笔记本电脑是一件十分开心的事。但是现在的
  • 三翼鸟智能家居亮相电博会,让用户体验更真实

    2021电博会在青岛国际会展中心开幕中,三翼鸟直接把“家”搬到了现场,成为了展会的一大看点。这也是三翼鸟继9月9日发布了行业首个一站式定制智慧家平台后的
Top