巨人天成
产经 科技 企业 数据 峰会 快讯 商业

认知负荷减负秘籍:如何让代码更友好,AI大神与马斯克都点赞的新思路

2024-12-30来源:InfoQ编辑:瑞雪

文章深入探讨了开发者在编写代码时面临的“认知负荷”问题。认知负荷,简单来说,就是完成一项任务所需承担的思考量,即需要动用多少脑力、占用多少注意力。尤其是当阅读代码时,开发者需要将变量值、控制流逻辑、调用序列等内容全部装进脑袋里。普通人能够支配的记忆力大约只能容纳4个这样的构建块,一旦认知负荷超过这个阈值,理解难度就会陡增。

Zakirullin将认知负荷分为内在负荷和外在负荷两种。内在负荷源自任务固有的难度,是软件开发工作的核心所在,难以避免。而外在负荷则由信息的呈现方式导致,与任务本身无关,如个人编程习惯等,这部分负荷是可以大幅降低的。

Zakirullin主张,应尽量减少项目中的外在认知负荷。他结合开发中常见的“认知雷区”,给出了一系列实用的建议。

首先,针对复杂条件语句,他建议避免使用令人费解的脑筋急转弯式代码。例如,对于一连串的条件判断,可以通过引入清晰的中间变量来简化逻辑,使代码更加易于理解。

其次,对于继承链导致的认知负荷问题,他建议少用继承,多用组合。继承链往往会让代码变得错综复杂,一处改动可能引发连锁反应。而组合则可以让代码更加灵活、易于维护。

他还指出,开发界流传的一些常规习惯,如“方法应该少于15行代码”或“类不能太大”等,实际上并不总是正确的。他强调,浅模块(接口复杂但功能简单)比深模块(接口简单但功能复杂)更难维护。因此,他建议设计深模块,隐藏内部复杂性,只暴露一个简单的接口。

在编程语言的选择上,Zakirullin也给出了提醒。虽然丰富的语言功能令人兴奋,但过多的选项也会增加认知负荷。他引用Go语言主要设计者Rob Pike的话:“要通过限制选项的数量来降低认知负荷。”他建议开发者在选择语言功能时要谨慎,确保这些功能彼此关联、易于理解。

同时,他还对分层架构和领域驱动设计(DDD)提出了自己的见解。他认为,分层架构只有在需要明确扩展点时才有意义,否则只会增加额外的认知负荷。而对于DDD,他强调其本质是关于问题空间的思考,而不是解决方案空间的代码设计。许多团队在实践中误解了DDD,将其变成了固定的文件夹结构、服务命名规则或对“Repository模式”的机械化崇拜,从而增加了不必要的认知负荷。

最后,Zakirullin建议,每当有新人加入项目时,应尝试衡量他们的认知负荷程度。如果新人花了很长时间还是一头雾水,那么肯定意味着代码中存在需要改进的地方。他强调,保持较低的认知负荷水平对于新人的快速成长和项目的顺利推进至关重要。

企业禁用无线网卡攻略:三种方法详解,第二种助企业高效管控风险
对于中大型企业或对数据安全要求高的单位,域智盾终端安全管理系统提供了更智能、更彻底、更可追溯的无线网卡管控方案。在Windows专业版或企业环境中,IT人员可以用系统自带的组策略(Group Policy…

2025-11-15

蓝牙耳机被他人连接别慌!三招轻松夺回“控制权”
当发现耳机被别人连接时,最直接的解决方法是重置连接。操作很简单:先打开你的手机蓝牙设置,找到已配对的耳机名称,选择“忽略此设备”或“取消配对”。最后,在手机蓝牙列表中找到你的耳机并重新点击连接即可。这个操作…

2025-11-15

工业通信新选择:环网交换机如何以冗余设计保障现场数据稳定传输
每个交换机上有两个用于组环的端口(网口),交换机之间通过手拉手形式构成了环形的网络拓扑。我们设计的千兆工业交换机整体设计采用“凹陷”网口设计,外观上和普通交换机大有差别,将网线水晶头能够有力的支撑保护住。 …

2025-11-14

安科瑞ASCB3-80m智能微断:全参量监测+远程操控,筑牢低压配电安全防线
智能微型断路器配合智能网关使用,对用电线路的关键电气参数,如电压、电流、功率、温度、漏电、能耗等进行实时监测,具有远程操控、异常预警、事故跳闸告警、电能计量统计、故障定位等功能。ASCB3-80m 系列智能…

2025-11-14

谷歌AI新动作与苹果不谋而合,隐私赛道上苹果技术路线获印证
过去几个月里,我得出一个结论:苹果在AI方面的困境真正令人失望的地方,并不仅仅是人们普遍认为它在当前AI趋势中"落后"了。 A:苹果确实错过了ChatGPT发布引发的AI变革浪潮,在大语言模型产品方面相比其…

2025-11-13

物联网+AI赋能制造业边坡:构建“工业大脑”实现安全与效率双提升
物联网 + AI 构建的 “工业大脑”,通过全维度感知、智能化分析、精准化决策,让边坡管理实现了从 “事后补救” 到 “预测性维护” 的根本性转变,不仅破解了安全与效率、投入与效益的平衡难题,更重塑了制造业…

2025-11-13

广电卡适配指南:哪些手机能用?这些旗舰机型可能不兼容!
华为P50系列是个特例,即便是4G版,也能通过软件方案支持广电5G。中国广电表示,近六年主流手机型号均已升级适配广电网络,98%以上的新入网5G手机支持700MHz频段。 判断你的手机是否适配广电卡,不仅…

2025-11-13

星闪智联引领未来:无线短距通信开启智能社会新篇章
为统一目标、保证质量,在国际星闪联盟组织与号召下,联盟领导、行业协会及合作伙伴的11位代表上台发起了《消费电子新短距产业共建倡议》,明确提出要“共建星闪技术新标准、共创智能连接新应用、共赢消费电子新未来”。 …

2025-11-13

Kernelcom“智能键盘”来袭:12.5英寸超宽屏,AMD/Intel双版本可选
快科技11月12日消息,近日一款名为Kernelcom的设备正在Kickstarter上众筹,虽然其本质上是一款功能完备的笔记本电脑,但制造商还是将其宣传为“智能键盘”。 这款设备最大的特点是其12.5英寸超…

2025-11-13