《程序员的底层思维》:解密软件背后的16种底层思维能力

本文是关于《程序员底层思维》的阅读笔记,读后有较大收获,分享给大家。书中介绍了程序员应该具备的16中底层底层思维能力,只有意识到思维能力的存在,我们才有可能去学习、练习和提升。

基础思维能力

抽象思维

抽象思维是程序员最重要的思维能力之一,抽象的过程就是通过归纳概括、分析综合来寻找共性、提炼相关概念的过程。

软件工程师每天都要动用抽象思维,首先对问题域进行分析、归纳、综合、判断、推理,然后抽象出各种概念,挖掘概念和概念之间的关系,再对问题域进行建模,最后通过编程语言实现业务功能。

抽象具有层次性,抽象层次越高,内涵越小,外延越大,扩展性越好;反之,抽象层次越低,内涵越大,外延越小,扩展性越差,但语义表达能力越强。

逻辑思维

逻辑思维基本包含3个方面的要素。(1)概念:概念是思维的基本单位。(2)判断(proposition,在逻辑学中也叫命题):通过概念对事物是否具有某种属性进行肯定或否定的回答,就是判断。(3)推理(argument,在逻辑学中也叫论证):由一个或几个判断推出另一判断的思维形式,就是推理。

判断是概念的展开,没有判断,就不能揭示和说明概念。同时,判断也是推理的前提,是正确运用各种推理的必要条件。所谓推理,就是研究语句、判断、命题之间相互关系的学问。建模是一个归纳工作,我们通过抽象问题域里具有共同特性的类来建立模型。为了验证模型的有效性,我们会使用演绎的方法去推演不同的业务场景,看看模型是否能满足业务的需要。

大多数情况下,我们的思维逻辑链都比较短,短就意味着肤浅,找不到问题的根本原因。延长思维逻辑链的方法之一是5Why思考法,它能够帮助我们找到问题的根本原因。5Why思考法,是指对一个问题连续多次追问为什么,直到找出问题的根本原因。

丰田汽车公司前副社长大野耐一曾经举了一个通过5Why提问法找到问题根本原因的实例。有一次,大野耐一先生见到生产线上的机器总是停转,虽然修过多次但仍不见好转,便上前询问现场的工作人员。

问:“为什么机器停了?”(1Why)

答:“因为机器超载,保险丝烧断了。”

问:“为什么机器会超载?”(2Why)

答:“因为轴承的润滑不足。”

问:“为什么轴承会润滑不足?”(3Why)

答:“因为润滑泵吸不上来油。”

问:“为什么润滑泵吸不上来油?”(4Why)

答:“因为油泵轴磨损、松动了。”

问:“为什么油泵轴磨损了?”(5Why)

答:“因为没有安装过滤器,润滑油里混进了铁屑等杂质。”

结构化思维

结构化思维是一种以逻辑(事物内在规律)为基础,从无序到有序搭建结构的思维过程,其目的是降低复杂度和认知成本,因为大脑更喜欢概念少、有规律的信息。

结构是万物之本,小到分子,大到宇宙,只有了解其结构才能真正认识它。

批判性思维

批判性思维中的“批判”一词其实不太准确,甚至在中文里有点否定、批评和抨击的负

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值