https://github.com/zakirullin/cognitive-load

“认知负荷”是开发者在程序设计和维护中面临的最大挑战,读代码远比写代码更花时间。
在写代码时应反复问:这段代码会不会给后来维护者带来不必要的或者超标的认知负荷?

⦁ 认知负荷指开发者在理解和修改代码时大脑需要“记住”的信息量,而人脑工作记忆大约只能同时处理 4 个“信息块”,超出后就容易迷糊、出错,效率低。
⦁ 软件开发中,很多复杂代码、晦涩设计、过度拆分模块、深层继承等都会额外增加认知负荷,尤其是“非本质负荷”(extraneous cognitive load)可以且应该被尽量减少。
⦁ 提倡通过好命名、减少复杂条件、避免过深的继承层次、倾向用组合而非继承、尽量用“深度”模块隐藏复杂度、简化语言特性和接口设计来降低认知负荷。
⦁ 文档举了很多清晰实例,比如:
⦁ 复杂条件拆解成有意义的中间变量,帮大脑减负;
⦁ 用“快速返回”代替多层嵌套 if,专注主要的好路径;
⦁ 不要过度拆分成过多浅层模块,跳来跳去要记很多上下文;
⦁ 代码写得越“花哨”反而更难长久维护,简单清晰才是王道;
⦁ 微服务过度拆分也会把认知负荷和沟通成本推升到爆表。
#Doc #GitHub GitHub - zakirullin/cognitive-load: 🧠 Cognitive Load is what matters
 
 
Back to Top
OKHK