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 }] }
-
-
像机器一样思考(三)------穷尽就是力量
-
各自独立
所谓各自独立,说的就是在我们划分任务的过程中,每一个任务都对应一个代码块或一个函数,这些代码块和函数,是互相不包含的
-
完全穷尽
所谓的完全穷尽,说的是我们需要穷尽这个代码块或函数里所有的输入和输出。不能遗漏任何一个输入,任何一个输出。
-
输入总共有下面几大类:
- 参数
- 读取全局变量
- 调用全局函数后得到的返回值
- 读取局部作用域变量(比如this)
- 调用局部函数后得到的返回值
- hard code的数据
-
输出总共有下面几大类:
- 返回值
- 修改全局变量
- 调用全局函数时传的参数
- 修改局部作用域变量(比如this)
- 调用局部函数时传的参数
-
-
像机器一样思考(四)------一图抵千言
- 画图的规则
- 本图基本元素由方块和带箭头的线组成
- 一个方块只代表一个函数或一个代码块,通常是函数,方块中可以写字,可以表达函数是属于哪个类或哪个实例等信息。
- 指向方块的线代表该函数的输入,背离方块的线代表函数的输出。
- 数据流动的时间轴遵守先从左到右,再从上到下的顺序。
- 每一对输入输出(输入在上,输出在下)加一个方块,表达了一次函数调用。
- 当按照模块的角度去拆分task不work的时候,我们就要按照测试的角度来切分task了,这个思维的切换是TDD的核心。我们需要按照测试的视角来切分任务,从一个函数的实现视角转为一个函数的调用视角。
- 画图的规则