初学编程阶段,面对新任务往往不知道如何下手,对着任务说明硬嗑,寄希望于灵光一闪是我们很容易犯的错误。这时我们可以尝试运用任务分解,帮助我们把大任务分解成一个个小任务,逐个解决。
计算机程序可以抽象为 输入>处理>输出 系统,处理过程即我们的代码(代码块或封装好的方法)。
计算机处理问题的方式
我们在思考问题时可以使用这种思维方式,想好输入输出。从下图可知,输入输出都有name和数据结构。对于函数而言,输入即参数,输出即返回值;对代码块而言,输入即传递过来的变量,输出即得到的变量。
任务的输入输出
采用上述方式分解问题,需要穷尽输入输出。此时我们可以采用5W1H的提问框架分析问题。
5W1H提问框架
5W1H的提问方式用在任务分析中,也即分析:
- 输入从哪来,输出到哪去
- 函数的触发事件、权限
- 代码里写死的数据hard code有哪些
- 处理过程:描述 - 函数名;怎样实现;为什么这样实现
我们在做Tasking的时候最重要的两点即:
- 输入从哪来
- 输出到哪去
在面对更复杂的问题时,可以借助图形表达,给每一对输入输出编号,然后进行分析即可。
复杂问题的分析
做完任务分解,在执行时我们可以给自己估算时间,时间差距过大时分析问题所在,进行调整。
执行时间估算
网友评论