读《程序员修炼之道(2)》

Posted 2021-08-04 13:17:25 ‐ 3 min read

务实的哲学

  • 团队信任对于创造力和协作至关重要, 关键时刻信任的破坏几乎无法修复 ( 跑路?

  • 提供选择,别找借口 -- 小黄鸭编程

  • 破窗理论 -- 不要因为一些危急的事情,造成附加伤害,尽可能控制软件的熵

  • 人们都觉得,加入一个推进中的成功项目更容易一些 ( 煮石头汤的故事

  • 永远审视项目,不要做温水青蛙 先养成仔细观察周围环境的习惯,然后在项目中这样做

  • 知识和经验是你最重要的专业资产,但是它们是时效资产 学习新事物的能力是你最重要的战略资产 知识组合:

    1. 定期投资 -- 安排一个固定的时间和地点学习

      • 每年学习一门新语言
      • 每月读一本技术书
      • 读非技术书
      • 上课 -- 了解公司之外的人都在做什么
      • 尝试不同的环境 -- makefile -> IDE
      • 与时俱进 -- 关心最新技术的进展

      想法的交叉是很重要的 批判性思维 -- 批判性思考读到的和听到的东西

    2. 多样化 -- 熟悉的技能越多越好

    3. 风险管理 -- 不同技术在从高风险高回报到低风险低回报区间均匀分布,不要把技术鸡蛋都放在一个篮子里

    4. 低买高卖 -- 在一项新兴技术流行之前就开始学习,不过这是押宝

    5. 重新评估调整 -- 不断刷新自己的知识库

  • 批判性思维

    1. 五次为什么
    2. 谁从中受益
    3. 有什么背景
    4. 什么时候在哪里工作可以工作起来
    5. 为什么是这个问题
  • 写一个大纲,问自己:这是否用正确的方式表达了我想表达的东西 以及现在是表达这个东西的好时机吗?

务实的方法

ETC(easy to change)

核心指导思想

  • DRY (Don't Repeat Yourself)

  • 正交性 良好设计中,数据库相关代码应该和用户界面保持正交 当系统的组件相互之间高度依赖时,就没有局部修理这回事