软件开发瓶颈真的是写代码?代码评审等环节竟如此耗时耗力

投稿或寻求报道 | zhanghy@csdn.net

多年来,我一直坚信:写代码,从来都不是软件开发中的瓶颈。

究竟瓶颈究竟在何处?它体现在代码审查,体现在通过导师制和结对编程来传授知识,体现在测试和调试过程中,还体现在沟通与协作所带来的额外“人力成本”……这些环节如同层层叠叠,隐藏在一张张工单、一场场会议以及一次次敏捷实践所构成的复杂迷宫之中。这些流程原本旨在提高开发品质,然而,它们往往比编写代码本身更加费时费力,因为它们要求深思熟虑、达成共识以及做出合理的判断。

如今,伴随着大语言模型(LLM)在生成可执行代码方面的效率提升,一种新的看法逐渐兴起:过去编码曾是制约发展的瓶颈,而现在我们似乎已经成功突破了这一难题。

然而,实际情况并非如此:利用大型语言模型,新代码的生成成本正逐渐降低至几乎为零——然而,对这些代码进行理解、检验以及建立信任所需的投入,包括所需的时间和精力,或许比以往任何时候都要更多。

大语言模型只是转移了工作量,而没有消除

此类工具如 Claude 确实能够加快初期实现的速度,然而,最终常常导致的结果是:系统内涌入的代码量增多,从而给负责审查、集成以及维护工作的人员带来了更大的工作压力。

这一点在以下几种场景中尤为明显:

代码提交者对生成的代码是否完全理解,尚不明确;

生成的代码引入了团队不熟悉的模式,或违反既有规范;

边界情况、隐藏副作用不容易被察觉。

最终,我们将遭遇这样的情形:代码的生产变得更为便捷,然而验证、理解与维护的难度却有所增加,这可能导致团队的整体工作效率并未随之提高。

这并非新鲜事,开发者们对“复制粘贴式开发”的戏称早已耳熟能详。然而,大语言模型的快速生成和大规模应用,更是将这种复制粘贴的行为推到了一个新的高度。

写代码不难,理解代码才难

有句话说得好:“代码的最大成本在于理解,而不是编写。”

大语言模型的确能显著减少编写代码所需的时间,然而,若要深入理解其运作机制、细致地查找微小的错误、确保其长期的可持续维护,这仍旧是一项成本高昂的智力挑战。特别是在审查者难以区分哪些代码是AI所写、哪些是人工编写,甚至无法理解“为何要这样实现”的情况下,维护的难度将更加增大。

软件开发的本质,从来都不是孤岛

从本质上讲,软件工程是一项需要高度协作的职业活动,它需要团队成员间共享理解、保持目标一致,并传承资深成员的经验。然而,当前情况下,若代码的生成速度远超讨论与审核的速度,团队可能会陷入一个认知陷阱:即默认代码是正确的,即假定质量已经达标,而非通过严谨的验证来确保质量真正达标。

软件开发瓶颈期__java开发瓶颈

这种心态给审查者和导师带来了极大的压力,使得整个流程表面上看似“自动化”,实则变得更加脆弱和缓慢。

LLM 确实很强,但并未解决根本问题

确实,大型语言模型在原型构建、框架构建以及某些自动化流程方面能显著提高工作效率。然而,它并不能取代深入的思考、周密的审查以及合理的系统架构设计。实际上,随着生成的代码量逐渐增加,这些能力的重要性愈发凸显。

确实,编码的费用有所降低;然而,团队成员共同理解代码的代价并未减少——这正是我们的真正难题,切勿再欺骗自己了。

网友热议:写得快,不代表就是对的;生成得多,不代表质量就够

这篇文章在HN上引发了开发者群体的广泛关注与热议,随之而来的是,越来越多的前线工程师开始认识到,大型模型正在加剧软件工程中最为棘手的环节:对复杂内容的理解、对代码的审查以及团队间的协作。

一位经验丰富的开发者于评论区披露了个人的亲身见闻:在指导实习生期间,他观察到利用LLM技术,团队的代码编写效率显著提高,单日产出量已能匹敌以往数周的工作量。然而,这种表面上的效率提升实则隐藏着认知负担的累积:

实习生写的代码“像是对的”,但其实错得离谱;

看起来干净的提交,实际隐藏着无数边界问题;

代码结构复杂得不合理,审查意见很难被真正理解;

修改并非针对既有的公共关系材料,而是要提交一个全新的计划,然而这又引出了新的复杂难题。

并非孤例,另一位开发者也持有相似观点:尽管大型语言模型能够加快代码的生成速度,然而,耗时较长的是随后的代码整理、错误检测、安全审核、代码重构以及性能优化等工作——这些环节难以实现自动化,且鲜有人愿意承担。

除此之外,有开发者从更宏观的角度提出观点:“编写程序,早已不再是稀有技能。”他指出,与几十年前相比,业界已经从“谁能够编写系统”这一阶段发展到了“谁能够确定需要何种系统”这一阶段。昔日,比尔·盖茨凭借编程技能得以谋生,那是因为编程能力在当时极为罕见;然而,如今编程技能已经变得普遍,市场需求和决策能力才是成功的关键。

这也进一步证实了原文中的论断:编写代码的额外成本在逐渐降低,然而,对于“理解代码、协同开发”的额外成本却在不断攀升。因此,当我们讨论 LLM 提高了“效率”这一概念时,不妨多思考一下:它究竟提高了谁的效率?是在哪个环节上?这样的提升又付出了怎样的代价?

初级工程师提交PR的速度是否更快,抑或是高级工程师在清理后续问题上投入了更多时间?

是产品交付周期缩短了,还是产品质量变得不可控了?

是没人能生成更多代码了,还是真正读懂这些代码的人更少了?

大型模型并无过错,其确实具备强大的功能,然而,每一种工具都仅是放大器——它既能增强你的能力,亦有可能放大你的不足之处。

免责声明:本站发布的所有文章图片内容,由AI一键生成,根据关键词和其他参数进行文章自动采集、加工、发布。不对文章内容的真实性、合法性、时效性负责。

版权所有 copyright 2019 长子县融媒体中心 www.zzc-media.com XML地图
《互联网新闻信息服务许可证》 证号:14120200024 《信息网络传播视听节目许可证》 证号:104420004 备案号:晋ICP备19004532号-1
友情链接 互助县树人高级中学 永川行政服务中心 济南市市中区人民政府舜耕街道办事处 邢台市应急管理宣传教育培训中心

关于站点

‌长子县融媒体中心‌是长子县的一个重要媒体机构,主要负责新闻宣传和媒体融合工作。由原‌长子县广播电视台和‌长子县新闻中心合并组建,成立于2018年12月,标志着长子县新闻宣传工作进入了融合发展的新时代‌。长子县融媒体中心位于山西省长子县会堂四楼,是长子县新闻发布和宣传活动的主要枢纽‌。

搜索Search

搜索一下,你就知道。

温馨提示

百亿补贴福利攻略.jpg