天天看点

Tasking任务分解学习总结Tasking-任务分解编程的精进之法

Tasking-任务分解

  • 输入
    • Where:从哪来?
    • When:触发事件
    • Who:权限
  • 处理过程
    • Where:hard code的数据有哪些?
    • What:过程描述
    • How:怎么实现
    • Why:设计
  • 输出
    • Where:到哪去?

编程的精进之法

  • 任务列表法

    任务列表要达到完全穷尽,各自独立

  • PDCA

    PDCA是Plan-Do-Check-Action四个词的组合。这是这是著名的戴明环。讲究从计划开始,经过实践,再反思,产生的改进行动再纳入下一轮计划的持续改进过程。

  • 编程的精进之法

    任务列表法+PDCA式工作法形成的组合方法,是一个通过逐渐提升个人能力以达到高效工作的方法。

    我们需要在尽可能早的时候,让尽可能多的有用的动作变成自动的和习惯的…一段痛苦的艰难时期之后就是自由的时光。 ----美国心理学之父威廉詹姆士

像机器一样思考

  • 像机器一样思考(一)------宏观的基础
    • 能像机器一样思考的人适合做程序员。
    • 所有的问题都从输入和输出的角度去思考,就是计算机这台机器的思考方式。
  • 像机器一样思考(二)------数据的细节
    约束是你的朋友。 ----Rails之父DHH
    • 类型

      编程语言分为强类型(比如Java,C#,Scala)和弱类型(比如JavaScript,Ruby,Python)两种。

    • 结构

      通过结构化的方式来自定义类型

      let zhangsan = {
        name: "张三",
        age: 38,
        children: [{
          name: "李四",
          age: 10
        },{
          name: "王五",
          age: 5
        }]
      }
                 
  • 像机器一样思考(三)------穷尽就是力量
    • 各自独立

      所谓各自独立,说的就是在我们划分任务的过程中,每一个任务都对应一个代码块或一个函数,这些代码块和函数,是互相不包含的

    • 完全穷尽

      所谓的完全穷尽,说的是我们需要穷尽这个代码块或函数里所有的输入和输出。不能遗漏任何一个输入,任何一个输出。

    • 输入总共有下面几大类:
      1. 参数
      2. 读取全局变量
      3. 调用全局函数后得到的返回值
      4. 读取局部作用域变量(比如this)
      5. 调用局部函数后得到的返回值
      6. hard code的数据
    • 输出总共有下面几大类:
      1. 返回值
      2. 修改全局变量
      3. 调用全局函数时传的参数
      4. 修改局部作用域变量(比如this)
      5. 调用局部函数时传的参数
  • 像机器一样思考(四)------一图抵千言
    • 画图的规则
      1. 本图基本元素由方块和带箭头的线组成
      2. 一个方块只代表一个函数或一个代码块,通常是函数,方块中可以写字,可以表达函数是属于哪个类或哪个实例等信息。
      3. 指向方块的线代表该函数的输入,背离方块的线代表函数的输出。
      4. 数据流动的时间轴遵守先从左到右,再从上到下的顺序。
      5. 每一对输入输出(输入在上,输出在下)加一个方块,表达了一次函数调用。
    • 当按照模块的角度去拆分task不work的时候,我们就要按照测试的角度来切分task了,这个思维的切换是TDD的核心。我们需要按照测试的视角来切分任务,从一个函数的实现视角转为一个函数的调用视角。