如果系统 1 已经将代码识别为“熟悉”,一致的编码指南还可以帮助系统 2 更轻松地理解代码。在开发团队中工作时,这意味着必须定期检查指南,看看它们是否仍然被所有团队成员理解和接受。
一种模式。物体、生物、人、概念以及我们想要命名的一切都有一个名字。我们对这些术语越熟悉,系统 1 就越容易找到合适的动作匹配:一个图像、一段记忆,有时只是一种感觉——无论它是否完全无意识且几乎不可能关闭。未知甚至矛盾的名称会激活系统 2。如果您当前处于心流状态,则此过程结束。现在你被迫积极思考,以解决未知或矛盾的问题。只有这样你才能回到心流。
如果您花时间想出好的类、方法或变量名称,并且在必要时不回避重命名它们,那么您很快就会得到回报。
评论感知是两个系统的结果
根据心理学家、诺贝尔经济学奖得主丹尼尔·卡尼曼的感知模型,我们的感 糖尿病邮寄名单 知或感官印象是由两个不同的系统处理的。卡尼曼将它们简单地称为“系统 1”和“系统 2”。
系统 1 几乎存在于每一个拥有中枢神经中枢的生物体内——可以说是“古老的”且完全成熟的。该系统速度快,不需要体力甚至脑力劳动,并且本质上基于模式识别。如果找到合适的模式,系统 1 就会触发与其相关的反应。
众所周知,编程中的注释是谎言。他们有什么问题,你就不能忽视他们吗?不幸的是,这并不那么容易,正如您在询问图 1 中最长的线路时所看到的那样。即使评论没有说谎,它们仍然会导致精神上的懒惰。当所有内容都在注释中时,为什么系统 2 还要费心去处理代码呢?因此,您应该看到注释的真实含义,即对急需修订的代码段落的引用。好的代码不需要进一步的解释。
结论
如果您希望一方面能够编写出好的代码,另一方面能够明智地使用干净的代码实践,那么对人类感知处理有一定的基本了解是至关重要的。正如您在示例中看到的,当问题似乎已经解决时,大脑喜欢依赖熟悉的模式,而懒得识别可能的替代方案。
您想仔细看看这种方法吗?然后我推荐丹尼尔·卡尼曼(Daniel Kahneman)的畅销书《快思考,慢思考》作为一个很好的介绍。
如果您对软件架构中的干净代码感兴趣,还可以查看Wolfgang Wunsch的博客文章。您可以在我们之前发布的博客文章中找到来自 adesso 世界的更多精彩文章。