那些工作带来的人生启示

那些编程带来的人生启示

当你手里只有一个锤子的时候,你眼里的任何东西看起来都很欠锤。

一旦你在某一领域学会了以某种方式看待问题,在正常情况下,你就会很容易地以这种方式去思考其他领域的所有问题。

我整理总结一下这些年工作与生活映射的一些感悟,还请给为多多指教。

在这里插入图片描述

  1. 三天不念口生,三天不练手生。这句话适应于生活中大部分场景。

  2. 一个时刻只专注做一件事,对提高生产质量有帮助。(同步锁synchronized())废话

禁止打断

  1. 不论是对人还是对事,你都要足够的专一,若非如此,很容易会在吊儿郎当上栽跟头。(单例模式)

  2. 接到任务时首先明确要达到什么样的目的,在理想中完成后应该具备、达到什么样的程度。(解读需求)

  3. 适度的工作会让大脑变得更敏锐,相反,长期处于懒散状态下会使人的状态急速下滑。

在这里插入图片描述

  1. 学而时习之,才能从温故中知新,过去的旧知识中还蕴藏着更深层次的道理。

  2. 对于每天经常做的重复事项,不妨静下心来整理一下如何做到更快更优更简洁。(1.抽象现有对象的共性,培养面向对象思维2.自动化思维)

  3. 不论有没有把握,都要考虑到最极端的情况,每个人都会面对这类问题。

  4. 当你需要完成一件事但又在时间或精力上不允许的情况下,可以环顾一下周围有能力完成这件事的人,或委托或从中讨教捷径。(你不需要凡事都去造轮子,多借鉴前辈们的思路,站在巨人的肩膀上去做事情,往往会比预期的效果要好很多)

  5. 将身边的一切事物都试图去具体分类,小到思考如何给QQ好友分组、微信好友标签、以及保持电脑文件夹井然有序,大到理解政府各个部门如何精准分工协作使整个社会运作起来(模块化思维、分布式系统)

在这里插入图片描述

  1. 想要做到完美,尽可能增加条件去测试以达到预期,要经得起不同时间、地点、环境、人物等的检验(性能测试思维)

  2. 敬畏自己的工作,努力做到最好。因为一个自然人能做的一切,大多数情况下程序都可以代替,甚至比人做的更快更好更稳定不夹杂任何情绪。人类发明了机器,机器也重新定义了人。人类应该敬畏机器。

  3. 结果正确不代表方向正确,也不代表实现方式正确,应该适当的了解过程。

  4. 越难找到问题,往往就存在于自己眼前的细枝末节。(很多编译或运行的失败都是细微到不能再细微的错误导致的)

  5. 记录自己犯下的相同或相似的错误,以便于下次产生问题的时候能快速定位到发生问题的点。最重要的是预防而不是解决。(我们政府现有的特点就是,防火不行救火行,希望未来能有所改善)

在这里插入图片描述

  1. 所有的事情基本都能用三种控制结构或者组合完成:顺序结构、条件结构、循环结构。

  2. 好的想法总是一闪即逝,无论在忙什么,及时记录。

  3. 想做一件事的时候,尽快、尽全力去做。很多一起兴起的事拖久了就没味道了。

  4. 战略规划时,过分注重细节,往往会让人望而却步。有一件比登天都难的事情想去做却又不敢做的时候,不妨参考面向对象设计的思想:自顶向下,逐步求精。自顶向下的意思可以这样理解,先把格局放大,找到到达目标的关键节点、整体步骤;在心里有了大致思路后,再放大节点,一点点完善。

    大学学C语言时,大概老师们都会讲一个经典的故事:如何把一头大象装入冰箱?

    一般认为答案是这样的:

分三步

  1. 打开冰箱
  2. 把大象装入冰箱
  3. 关上冰箱盖

从编程的角度来讲,这三个节点对应的是‘自顶向下’实际生活中解决这个问题,关键节点也就这三个。
那么‘逐步求精’需要考虑哪些?实际生活中,这里有几个问题需要思考:

’分三步‘ 带来的疑问

  • 什么是冰箱?我们需要多大的冰箱?
  • 多大的大象属于大象?
  • 大象的一块肉是否可以当做大象?
  • 刚出生的象宝宝算不算大象?
  • 放入分尸的象体算不算解决这个问题呢?
  • 如何把冰箱门关上?
  • 如果政治家抓一只猫,让猫在强烈的政治攻击下承认自己是大象怎么办?
  • 如何确定或检查是否大象被装进去?

在实际问题和编程的世界里,这些问题都值得深入思考,出现任何一条遗漏的规则,都可能出现不可预期的结果。
因此在取得 ’自顶向下‘ 的成果后,再来一步步分解细节的问题。如果你能把问题拆分成不同的块,那么,大部分时候所谓的“难题”都能有序地解决。


版权申明:未经作者同意,禁止转载。

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页