人是能够习惯于任何环境的生物,之前你认为自己难以克服的困难,慢慢都会适应了。

维克多弗兰克《活出生命的意义》

文章目录

    • 人是能够习惯于任何环境的生物,之前你认为自己难以克服的困难,慢慢都会适应了。
  • 基础思维能力
  • 逻辑思维
  • 批判化思维
  • 纬度思维
  • 分类思维
  • 分治思维
  • 简单思维
  • 成长型思维
  • 模型思维
  • 量化思维

基础思维能力

我不止一次发现,当我觉得一个地方的命名有些别扭的时候,往往就意味着要么这个地方我没思考清楚,要么是我抽象错了。

提取重复代码只是重构工作的第一步,对重复代码进行概念抽象,寻找有意义的命名才是我们工作的重点。

任何软件系统的设计都基于归纳法,而非演绎法,即软件设计人员总是通过对现有世界和业务的总结提炼,而无法通过推测演绎完成软件设计。设计人员无法对业务的未来做出预测,只能基于有限的经验,尽量保证设计的灵活性和正确性。

抽象层次越高,其内涵越小、外延越大,也就是说它的含义越小、泛化能力越强。比如,牛就要比水牛的抽象层次更高,因为它可以表达所有的牛,水牛只是牛的一个种类。
抽象层次越高,内涵越小、外延越大,泛化能力越弱。然而其代价就是业务语义表达能力越弱。

越抽象,越通用,可扩展性越强,其语义的表达能力就越弱。越具体、越不好扩展,其语义表达能力就越强。所以,对抽象层次的的权衡是我们系统设计的关键所在,也是区分普通程序员和优秀程序员的重要参考指标。

逻辑思维

批判化思维

中台的底层逻辑,用一句话解释就是通过复用提升研发效率。

业务中台低效的根本原因在于:前台业务和业务中台的”深度单体耦合“。

正如尼古拉斯所说,在现代生活中,简单的做法一直难以实现,因为它有违某些努力寻求复杂化,以证明其工作合理性的人所秉持的精神。

正如Neal Ford在《软件架构》一书中提到,当一个架构师设计一个系统的时候,他如果选择重用,那么同时也选择了耦合。因为重用不管是通过组合还是继承来实现,都会引入耦合。所以,如果你不想耦合,可以采用重复代替重用。也就是,重用高耦合,重复低耦合。架构设计需要从中做出取舍。

能使团队更加敏捷的架构师比只做决定的架构师更有价值。因为只做决定的架构师会成为团队的瓶颈。显然,一个架构师的价值与他所做的决定是成反比的。Martin甚至不认为架构师(Architect)这个名词是合适的,他认为更合适的叫法应该是向导(Guide).即一个更有经验的人带领团队走出复杂的迷雾。

许多后劲不足的人主要是过早停止了学习和成长。

TL必须深入思考业务,严格把控PD提出的需求,把伪需求,无价值需求挡在门外,防止他们侵占原有团队原本有限的技术资源,从而让技术团队将更多的精力投入到系统优化上去。

纬度思维

一个人能进行思考的纬度越多,对一个问题的理解就会越全面,越深入,进而超越那些只会单一维度思考的人。

如果一个人一生只能收到点状努力的即时效益,从来没有享受过一次线性周期的成果回报,这就叫穷人勤奋的一生

当复杂的业务在大脑中纠缠不清的时候,我们可以利用矩阵的形式把问题显性化,从而更好做决策和判断,把复杂的问题变成”填空题“。

分类思维

分类的本质是将有共性的事物放在一起。共性的本质是对象之间的交集,这个交集要么是共同属性,要么是共同行为。分类有助于我们洞察问题的本质。

分治思维

分治的价值在于,我们不应该试着在同一时间把整个问题域塞进自己的大脑,而应该试着以某种方式去组织问题,以便能够在同一时刻专注于一个特定的部分。可以让我们尽量减少在任意时间内所要思考的问题的复杂度。


Z轴拆分:通常叫做数据分片(Partitioning),是把一个大的数据集拆分为多个小的数据集的方法。

简单思维

奥卡姆剃刀原理:指如无必要,勿增实体,即简单有效原理。

简化的本质是熵减活动,而事物都在缓慢熵增。熵减是逆向做功,通过更多的努力让复杂混乱的系统重新有序。

艺术借助轻巧单薄的形象唤起人们的情感,对抗复杂本质的力量是脆弱。

把一件简单事情搞复杂是简单事,但要把一件复杂的事情搞简单却是复杂的事。

成长型思维

  • 决定你成长的第一步不是你是否努力,是你是否相信努力。
  • 成长型思维的人认为,成功是学习的记过,努力是通往成功的关键。

模型思维

  • 混沌大学创始人李善友教授认为,没有好的思维模型,再多的知识积累也是低水平的重复。成人学习的目的不是获取更多的信息量,而是学习更好的思维模型。
  • 世界上没有完美的模型,甚至连正确的模型都没有。再软件开发过程中,我们也要以发展的眼光来看待模型,能解决当前问题的模型就是好模型。

量化思维

  • 从某种意义上来说,度量的结果一定是片面的,只能反映部分事实。
  • 指标和目标通常不是充分和必要的关系。
  • 只要缺陷可以很快被修复,那么有缺陷就不可怕,缺陷多也不可怕。我们怕的是每个缺陷的修复难度都很高,更怕的是缺陷的修复对原有代码伤筋动骨。
  • 量化的关键在于两点:1 能否进行数字化 2 数字化之后能否收集到数据。

《程序员的底层思维》读书笔记相关推荐

  1. 读书笔记 | 墨菲定律

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  2. 读书笔记 | 墨菲定律(一)

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  3. 洛克菲勒的38封信pdf下载_《洛克菲勒写给孩子的38封信》读书笔记

    <洛克菲勒写给孩子的38封信>读书笔记 洛克菲勒写给孩子的38封信 第1封信:起点不决定终点 人人生而平等,但这种平等是权利与法律意义上的平等,与经济和文化优势无关 第2封信:运气靠策划 ...

  4. 股神大家了解多少?深度剖析股神巴菲特

    股神巴菲特是金融界里的传奇,大家是否都对股神巴菲特感兴趣呢?大家对股神了解多少?小编最近在QR社区发现了<阿尔法狗与巴菲特>,里面记载了许多股神巴菲特的人生经历,今天小编简单说一说关于股神 ...

  5. 2014巴菲特股东大会及巴菲特创业分享

     沃伦·巴菲特,这位传奇人物.在美国,巴菲特被称为"先知".在中国,他更多的被喻为"股神",巴菲特在11岁时第一次购买股票以来,白手起家缔造了一个千亿规模的 ...

  6. 《成为沃伦·巴菲特》笔记与感想

    本文首发于微信公众帐号: 一界码农(The_hard_the_luckier) 无需授权即可转载: 甚至无需保留以上版权声明-- 沃伦·巴菲特传记的纪录片 http://www.bilibili.co ...

  7. 读书笔记002:托尼.巴赞之快速阅读

    读书笔记002:托尼.巴赞之快速阅读 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<快速阅读>之后,我们就可以可以快速提高阅读速度,保持并改善理解嗯嗯管理,通过增进了解眼睛和大脑功能 ...

  8. 读书笔记001:托尼.巴赞之开动大脑

    读书笔记001:托尼.巴赞之开动大脑 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<开动大脑>之后,我们就可以对我们的大脑有更多的了解:大脑可以进行比我们预期多得多的工作:我们可以最 ...

  9. 读书笔记003:托尼.巴赞之思维导图

    读书笔记003:托尼.巴赞之思维导图 托尼.巴赞的<思维导图>一书,详细的介绍了思维发展的新概念--放射性思维:如何利用思维导图实施你的放射性思维,实现你的创造性思维,从而给出一种深刻的智 ...

  10. 产品读书《滚雪球:巴菲特和他的财富人生》

    作者简介 艾丽斯.施罗德,曾经担任世界知名投行摩根士丹利的董事总经理,因为撰写研究报告与巴菲特相识.业务上的往来使得施罗德有更多的机会与巴菲特亲密接触,她不仅是巴菲特别的忘年交,她也是第一个向巴菲特建 ...

最新文章

  1. 是什么动词_动词后面跟什么词?答案笑喷...
  2. 利用多个域名来存储网站资源
  3. [转]百万数据查询优化技巧三四则
  4. python绘制饼图程序_python使用Matplotlib绘制饼图
  5. 信息学奥赛C++语言:某年某月天数
  6. ajax onload怎么用,Ajax中onload和onreadystatechange两种请求方式的区别
  7. 上线前,一款To B产品要做哪些运营动作?
  8. 【Antlr】unknown attribute text for rule stat in $stat.text
  9. 【入门必备】Java数据结构详解
  10. jquerymp3文件下载_前端实现文件下载所有方式
  11. VS2013 安装及问题解决
  12. java jxls 变量,11、进阶之Jxls2的自定义函数
  13. 线性分类器三种最优准则
  14. 反斜杠(\)加0~127中任何一个数字都会被解析成一个转义字符
  15. 电子邮箱地址格式怎么写?企业电子邮箱格式教程
  16. 【95】太空射击游戏——玩家代码
  17. Java实现 N的阶乘
  18. 怎么做SEO——页面权重计算公式
  19. 迁移学习 MMD距离
  20. jforum无法发布帖子问题

热门文章

  1. AAAI 2021 | 在手机上实现19FPS实时的YOLObile目标检测
  2. 有货移动Web端性能优化探索实践
  3. 优化ClickHouse星型模型查询性能
  4. windows10系统下载安装openssh
  5. 小散量化炒股记|如何用MySQL搭建本地股票量化数据库
  6. android 全透明背景,@谷歌android帝 这是你想要的,全局透明背景教程,两种方法...
  7. 【Java基础·Comparator多字段排序】
  8. python成绩表格
  9. 华为nova8pro和小米10Pro的区别 哪个好
  10. 佳能LBP5200激光打印机如何更换墨粉盒