replit创始人Amjad Masad 在Overcoming Intuition in Programming文章中介绍了如何在编程中克服直觉,文章大概讲了一下几点:
-
介绍”difficulty”(困难)或”disfluency”(不流畅)与认知之间的关系
-
研究发现大脑处理问题存在有两种模式:
- 模式一:自动的、不需要付出太多努力的,依靠直觉(intuition)或经验的思维模式
- 模式二:更有深度的、深思熟虑的、分析性的思维模式
当大脑处理问题时默认使用的模式一,当遇到难以理解的问题时,会切换到模式二
-
将这两种模式对应到编程上:
- 模式一:使用框架或第三库来解决问题,它们提供了特定问题的解决方案,同时,将具体细节封装起来,我们无需了解其中细节,减少了我们的心智负担,这称为“ framework intuitive space”
- 模式二:框架或第三库只能解决一些特定场景的问题,总还有一些场景是没有解决方案的,这被称为“framework negative space”,这不是框架或第三方库本身的缺陷问题,而是因为它们要解决的问题并不在于此
当我们长期处于”framework intuitive space“,一旦遇到问题被动置于“framework negative space”时会感到无所适从
-
在编程过程中,我们总是无意识的将自己置于“ framework intuitive space”,例如:在开发时,我们总是先确认是否有第三方库能支撑业务;针对我们使用的框架,总能够找到各种各样针对特定场景的插件或扩展,以便能cover更多的业务场景。长期置于这种模式中会产生很多意想不到的消极影响:
- 对于库开发者的依赖增加
- 将架构设计下降到库上,同时,增加技术债务
- 导致错误的观念,即认为编程只需要依靠intuition(直觉)
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END