• 首页 > 企业IT频道 > 软件即服务

    软件正在我们眼前悄然被侵蚀

    2024年09月03日 09:14:24   来源:鲁法号

      在数字化时代,软件的稳定性与安全性构筑企业值得信赖的护城河。作为全球领先的软件开发工具提供商,Qt Group正致力于通过其创新的Axivion Suite工具,助力企业在医疗器械、汽车等受高度监管领域精准识别或避免软件侵蚀,确保软件项目的长期可维护性和可扩展性。

      就像岩石和山脉会受到自然侵蚀,今天的全球软件也在遭受侵蚀。每天,开发者们都发现自己软件的混乱程度越来越高,而这些软件的架构却鲜少有人清楚理解。随着AI产业发展驶入“快车道”,我们几乎没有时间去理清这些混乱。

      近几年,软件频繁出现问题。仅2023年,国内网购、网约车、社交应用等平台或应用多次发生崩溃,引发媒体报道,甚至登上不同平台的热搜榜。在全球范围,Crowdstrike软件更新导致的"微软蓝屏"事件可能是今年最引人注目的一个。

      然而,开发者们却在维持这个摇摇欲坠的纸牌屋上投入了大量时间。基于2,000多位美国、英国、法国、德国和新加坡开发者和行政高管的调研报告《开发者系数(The Developer Coefficient)》指出,开发者每周平均工作41.1小时,其中三分之一的时间用于解决技术债务;超过40%的时间用于维护。

      这实际上反映出大量时间被用于非创新性工作。Qt Group的QA业务总监Juan Rodriguez对此深感担忧:"我们目睹着软件架构的逐渐衰败,因为科技行业要求开发者不断向前推进,譬如铺设新的铁轨,然而他们身后的铁轨却在逐渐崩溃。"

      什么是软件侵蚀

      我们大多数人并没有注意到软件侵蚀。这是软件内部结构的一种无形降级。它使得软件的可读性、可维护性、可扩展性和可复用性变得困难,甚至可能威胁到系统的功能安全。

      软件开发是一个不断累积的过程。新的依赖关系总是被引入到软件的各个部分中。但有时候,新的代码并非必要,反而使得代码库越来越臃肿,越来越难以理解、修改和维护。我们之所以称之为Dependency Hell(地狱依赖)并非没有原因。在实施功能或修复错误时,弄清楚哪些更改是必要的需要极大耐心和技巧。

      软件侵蚀的雪球效应

      添加功能和快捷方式会逐步增加软件复杂性,每次迭代都在无形中侵蚀着软件架构的完整性。

      开发者在工作流中添加了快捷方式,导致代码库日益臃肿。想要一个新的功能?有可能会因此破坏一些东西。如果重新设计产品的某个方面,可能会引发一系列破坏性反应,影响到其他原本相互独立的团队。每次改动都可能带来意想不到的连锁反应。

      开发者可能会因为额外的维护工作而感到沮丧,进而再次添加一个快捷方式。如此反复,直到代码库变得像极其不稳定的真人版叠叠乐游戏。每个人都害怕成为那个让整个结构崩塌的人。这就是开发者在面对日益复杂的代码库时所面临的挑战。

      关注软件侵蚀是为了长期保障您的软件投资

      "这就是软件侵蚀的本质,"Qt Group的Juan Rodriguez总结道,"无处不在的复杂性使得即使是发布最简单的新功能也变得痛苦无比。从长期来看,这种情况会对效率和可扩展性造成严重损害。"

      我们是否忘了测试左移?

      许多公司取了一种令人失望的"补救"措施。他们增加修复错误的时间,或者雇佣更多的QA工程师来减轻开发者负担。然而,这些都只是在玩"打地鼠"游戏,新错误在被修复前并不存在,就像是用昂贵的创可贴来处理严重的伤口。

      更明智的做法应该是重新架构代码库。对于只有两年代码历史的公司来说,这可能相对容易,但对于那些拥有二十年遗留代码的公司呢?即便他们完成了这项艰巨的任务,如果第一次没有真正吸取教训,软件侵蚀的循环就会再次开始。

      从开发者在维护上投入的时间来看,这些教训似乎还没有被充分吸取。软件侵蚀的问题依然存在,我们甚至可以预见,AI代码助手也面临同样的问题。除非每个行业都能自觉地从一开始就将QA紧密地融入到开发过程中。

      Juan Rodriguez建议:"从设计阶段就开始考虑这些问题,而不是等到所有的代码都写完之后再开始。"在编写新代码的时候,就要运行静态代码分析和功能测试。即便已经做了所有这些事情,但效果并不理想。如果是这样的话,那就回到起点,从宏观层面去审视软件架构,而不是只关注细节层次。架构是否达到预期?在产品中定义的第一个组件是什么?组件之间如何通信?

      当您运行静态代码分析并理解在哪里复制了代码;当您运行架构并理解依赖关系在哪里;当您运行功能测试并获得结果,您就开始理解了问题的所在。这并不是选择其中一个或另一个的问题。所有的软件产品最终都应该能够从多种来源获取洞察。只有这样,才能回到起点,重新架构,以避免重蹈覆辙。

      "遗憾的是,似乎很少有人真正知道自己实施的架构是什么样," Juan Rodriguez认为,"如果我们理解自己的软件架构,那么新增任何功能,都可以根据自己对架构的理解来构建软件。那时,就不再需要走捷径了。"

      Axivion Suite:解决软件侵蚀的利器

      Axivion Suite 是Qt Group专为解决软件侵蚀问题而设计的工具,通过静态代码分析、架构验证和依赖关系管理,有效应对软件架构侵蚀。它能自动检测代码中的潜在问题,确保代码符合预期设计,避免架构偏离。通过对软件架构的全面分析,Axivion Suite帮助开发者理解和修复架构中的违规行为,防止复杂性和依赖关系的增加。此外,Axivion Suite还提供实时反馈,帮助开发者在早期阶段发现并修复错误,从而提高软件的可维护性和可靠性,特别适用于医疗和汽车等对软件质量要求高的行业。

      Axivion Suite阻止软件侵蚀

      理解并解决软件侵蚀问题,是每一个重视软件质量的企业都应该关注的课题。Axivion Suite提供了强大工具,帮助企业从根本上解决这一问题。让我们一起,构建更加稳定和高效的软件系统。

      文章内容仅供阅读,不构成投资建议,请谨慎对待。投资者据此操作,风险自担。

    [No. H002]
    分享到微信

    即时

    TCL实业荣获IFA2024多项大奖,展示全球科技创新力量

    近日,德国柏林国际电子消费品展览会(IFA2024)隆重举办。凭借在核心技术、产品设计及应用方面的创新变革,全球领先的智能终端企业TCL实业成功斩获两项“IFA全球产品设计创新大奖”金奖,有力证明了其在全球市场的强大影响力。

    新闻

    敢闯技术无人区 TCL实业斩获多项AWE 2024艾普兰奖

    近日,中国家电及消费电子博览会(AWE 2024)隆重开幕。全球领先的智能终端企业TCL实业携多款创新技术和新品亮相,以敢为精神勇闯技术无人区,斩获四项AWE 2024艾普兰大奖。

    企业IT

    重庆创新公积金应用,“区块链+政务服务”显成效

    “以前都要去窗口办,一套流程下来都要半个月了,现在方便多了!”打开“重庆公积金”微信小程序,按照提示流程提交相关材料,仅几秒钟,重庆市民曾某的账户就打进了21600元。

    3C消费

    “纯臻4K 视界焕新”——爱普生4K 3LCD 激光工程投影

    2024年3月12日,由爱普生举办的主题为“纯臻4K 视界焕新”新品发布会在上海盛大举行。

    研究

    2024全球开发者先锋大会即将开幕

    由世界人工智能大会组委会、上海市经信委、徐汇区政府、临港新片区管委会共同指导,由上海市人工智能行业协会联合上海人工智能实验室、上海临港经济发展(集团)有限公司、开放原子开源基金会主办的“2024全球开发者先锋大会”,将于2024年3月23日至24日举办。