”如何在编程中克服直觉“ —— 来自replit创始人的分享

replit创始人Amjad MasadOvercoming 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
喜欢就支持一下吧
点赞0 分享