不开玩笑,你应该像「搬砖」一样写代码!斯坦福大学研究如是说

2024-04-08 01:04

本文主要是介绍不开玩笑,你应该像「搬砖」一样写代码!斯坦福大学研究如是说,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

20240407210113

由于程序员不可避免要进行很多重复性的工作,并且工作强度很高,导致有一种自嘲的说法出现:程序员们自称自己每天都在搬砖(实际上很多职场人都这么自嘲)。我相信当我们说工作像「搬砖」的时候,只是在表达一种不满和自嘲,没有其他积极的含义。不过从斯坦福大学10年前的一份研究结果来看,我们或许真的可以对「搬砖」这个词进行另外一种解读,并从中找到一些提升工作效率的密码。

如何让你的想法长腿?

2014年斯坦福大学的研究团队发表过这样一篇论文,专门研究“步行对创造性思维的影响”。

20240407205451

斯坦福大学的 Marily Oppezzo 和 Daniel L. Schwartz 进行的研究探讨了步行对创造性思维的积极影响。进行了四项实验,以证明步行可以实时和在不久后增强创造性构思。实验涉及参与者在坐着时完成创造性思维任务,然后在跑步机或户外行走时完成。主要发现包括与坐着时相比,步行期间的创造性输出显着增加,特别是在发散性思维任务中。该研究表明,步行可以打开思想的自由流动,并提供一种简单有效的方法来提高创造力和身体活动。该研究有助于理解身心联系以及身体活动(如步行)对创造力等认知过程的具体影响。

其实这一研究结果并不算意外,有一个著名的关于爱因斯坦的轶事是他在普林斯顿大学工作时,每天都会从家中步行到学校,这段大约1.5英里的路程,他认为是思考和放松的好时机。还有康德,也以其规律性的散步而闻名,他的散步时间如此准确,以至于邻居们据此校正自家的钟表。Steve Jobs对行走的爱好被Walter Isaacson在《乔布斯传》中披露,这位科技精英对行走的热爱一定程度上造成了最近走路的复兴。

20240407213018

不过,恰恰是这样名人的故事可能给我们造成一种印象:散步有利于思考和创造力是属于名人和特质和特权,似乎跟普通人关系不大。坦白讲,虽然我并没有意识到,但我的潜意识是确实是这样认为的。

斯坦福论文的研究对象都是普通人,仅仅这一点,就可以给我们启发。

散步这么好,为什么不一直散步?

如果这一研究仅仅是对名人轶事的佐证,那就有点没有技术含量了。下面我们看一下研究中的实验细节,从中还可以获得不一样的洞察。

首先,坐着针对两种类型的思考:Divergent Thinking(发散思维)和Convergent Thinking(收敛思维)分别进行了研究。

  • 发散思维:是指在创造性思维过程中,通过产生大量新颖和适当的想法来解决问题的思维方式。在创造性任务中,发散思维通常涉及到产生多种可能性,避免被固定在单一类别的用途中。
  • 收敛思维:是指在解决问题时,通过集中精力寻找最佳解决方案或答案的思维方式。

研究发现先坐着(Sitting)再散步(Walking)对发散思维有明显的帮助,几乎加倍,但是对收敛思维没有任何帮助,甚至还有一点伤害。

20240407205340

所以,事情稍微还是有点不同的。当你有思路的时候,集中精力思考并解决问题,你可以一直坐着,甚至进入心流的状态。但是,当你思考遇到困境的时候,找不到解决问题的方法的时候,或者需要头脑风暴的时候,请站起来走一走!

散步多久合适呢?

散步的时候思维活跃具有创造力,确实有利于思考,但是当回到工作的时候不还得坐在电脑前吗?那不又打回原形了吗?庆幸的是,我们的身体和思维没有那么的不善解人意,根据研究结果,散步的积极效果在坐下后至少能持续16分钟,这种残留效应表明散步对创造性思维有持久的影响。下面我们看一下实验细节。

研究者设计了四个实验,每个实验分两个阶段,每个阶段16分钟或者坐着(sit)或者步行(walk),组合起来共有四种情况:sit-sit、sit-walk、walk-sit和walk-walk。实验结果显示,在这些条件下,行走对创造力产生了积极影响,并且这种影响并不会随时间减弱。具体来说,在sit-walk条件下,参与者在行走时创造力产出增加了两倍以上,而在sit-sit条件下,创造力产出没有明显变化。在walk-walk条件下,行走的积极效应保持不变,至少在16分钟内没有减弱。在walk-sit条件下,人们在行走后坐下时,表现出几乎与行走时相同水平的创造力产出。这些结果表明,行走对创造力有持久的积极影响,即使在户外行走时也是如此。

20240407205305

搬砖的隐喻

如果你真的在工地上搬过砖(我搬过),你会知道搬砖是不可能一直持续一个动作的,搬砖的过程也是简单甚至单调地分为两个阶段:

  • 当需要干活的时候,专心致志地干活,特别是当你跟别人配合的时候,必须全神贯注不被打扰。某种程度上也可以进入心流的状态。这一过程可以类比上面提到的收敛思维
  • 而当搬砖搬累了的时候,你需要会坐下来喝口水,歇息,一起干活的人会坐在一起开始聊天(吹牛,八卦,互相打趣……),这样的对话内容常常非常丰富。这一过程可以类比上面提到的发散思维

说了半天,好像也没有太深刻的道理,又回到了众所周知的白开水话:无论是在电脑前搬砖还是真的搬砖,都要劳逸结合而已。但是,想一想你每天坐着的时间占比(50%还是80%?),你可能不会再轻视这段大白话。

多起来走走,不仅是为了身体健康,还是为了提高工作效率。这很意外地暗示了另一个事实:我们的身体和精神分的没有那么开。

关注👉👉👉「黑客悟理」,不错过任何新奇有趣的知识。

如果你喜欢我的文章,欢迎到我的个人网站关注我,非常感谢!

这篇关于不开玩笑,你应该像「搬砖」一样写代码!斯坦福大学研究如是说的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/884164

相关文章

Java集合之Iterator迭代器实现代码解析

《Java集合之Iterator迭代器实现代码解析》迭代器Iterator是Java集合框架中的一个核心接口,位于java.util包下,它定义了一种标准的元素访问机制,为各种集合类型提供了一种统一的... 目录一、什么是Iterator二、Iterator的核心方法三、基本使用示例四、Iterator的工

Java 线程池+分布式实现代码

《Java线程池+分布式实现代码》在Java开发中,池通过预先创建并管理一定数量的资源,避免频繁创建和销毁资源带来的性能开销,从而提高系统效率,:本文主要介绍Java线程池+分布式实现代码,需要... 目录1. 线程池1.1 自定义线程池实现1.1.1 线程池核心1.1.2 代码示例1.2 总结流程2. J

JS纯前端实现浏览器语音播报、朗读功能的完整代码

《JS纯前端实现浏览器语音播报、朗读功能的完整代码》在现代互联网的发展中,语音技术正逐渐成为改变用户体验的重要一环,下面:本文主要介绍JS纯前端实现浏览器语音播报、朗读功能的相关资料,文中通过代码... 目录一、朗读单条文本:① 语音自选参数,按钮控制语音:② 效果图:二、朗读多条文本:① 语音有默认值:②

Vue实现路由守卫的示例代码

《Vue实现路由守卫的示例代码》Vue路由守卫是控制页面导航的钩子函数,主要用于鉴权、数据预加载等场景,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一、概念二、类型三、实战一、概念路由守卫(Navigation Guards)本质上就是 在路

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

JAVA实现Token自动续期机制的示例代码

《JAVA实现Token自动续期机制的示例代码》本文主要介绍了JAVA实现Token自动续期机制的示例代码,通过动态调整会话生命周期平衡安全性与用户体验,解决固定有效期Token带来的风险与不便,感兴... 目录1. 固定有效期Token的内在局限性2. 自动续期机制:兼顾安全与体验的解决方案3. 总结PS

C#中通过Response.Headers设置自定义参数的代码示例

《C#中通过Response.Headers设置自定义参数的代码示例》:本文主要介绍C#中通过Response.Headers设置自定义响应头的方法,涵盖基础添加、安全校验、生产实践及调试技巧,强... 目录一、基础设置方法1. 直接添加自定义头2. 批量设置模式二、高级配置技巧1. 安全校验机制2. 类型

Python屏幕抓取和录制的详细代码示例

《Python屏幕抓取和录制的详细代码示例》随着现代计算机性能的提高和网络速度的加快,越来越多的用户需要对他们的屏幕进行录制,:本文主要介绍Python屏幕抓取和录制的相关资料,需要的朋友可以参考... 目录一、常用 python 屏幕抓取库二、pyautogui 截屏示例三、mss 高性能截图四、Pill

使用MapStruct实现Java对象映射的示例代码

《使用MapStruct实现Java对象映射的示例代码》本文主要介绍了使用MapStruct实现Java对象映射的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、什么是 MapStruct?二、实战演练:三步集成 MapStruct第一步:添加 Mave

Java抽象类Abstract Class示例代码详解

《Java抽象类AbstractClass示例代码详解》Java中的抽象类(AbstractClass)是面向对象编程中的重要概念,它通过abstract关键字声明,用于定义一组相关类的公共行为和属... 目录一、抽象类的定义1. 语法格式2. 核心特征二、抽象类的核心用途1. 定义公共接口2. 提供默认实