> #comment 面对一个问题出现一百个概念但是自己只对30有封装认知的时候就会感到比较吃力
Artem Zakirullin是一位经验丰富的软件架构师,现任职于软件开发公司Inktech,担任首席技术官(CTO)。他在软件开发领域有超过13年的经验,专注于提高代码的可读性和可维护性。
Zakirullin最近因其撰写的文章《Cognitive Load is What Matters》(《认知负荷才是关键》)而引起广泛关注。这篇文章探讨了在软件开发中减少认知负荷的重要性,强调了代码的可读性对开发效率的影响。他的观点得到了OpenAI创始成员Andrej Karpathy和特斯拉首席执行官埃隆·马斯克的认可,并在技术社区中引发了热烈讨论[1][3][5]。
在文章中,Zakirullin将认知负荷分为内在负荷和外在负荷,前者与任务本身的复杂性相关,而后者则与信息呈现方式和个人习惯有关。他提出了一系列建议,以帮助开发者减少外在认知负荷,从而提高代码的可理解性和维护性[2][4][8]。
1. 避免过度抽象—不要为了复用而复用,有时候适当重复比创建复杂抽象更好
2. 使用描述性的命名-好的命名可以减轻理解负担
3. 保持代码线性-跳来跳去的代码更难理解
4. 控制模块大小—不要追求过小的模块,适当的大模块反而更容易理解
> 第四点控制模块大小有点像我在[第二大脑](第二大脑.md)里的实践,大模块直击高生态位的核心词汇,同时内聚了更大的上下文,其实是有一定优势的。