前言
IPO 是什么???
其实它是 input、process、output 的缩写
如果你也和我一样,是一位码农,那么对于 IO,一定是不陌生的,因为几乎是我们每天都在做的事儿。
这个词儿现在蛮常见的,包括在不少视频、文章中都有看到,比如:
至于 IPO 的由来,到底是谁先提出的,我想这并不重要,重要的是如何理解并实践 IPO 的理念。我突然想要写这么一篇儿文章,也是摸索出了那么一丢丢规律,并且自己也获益不少,出于此目的 —— 分享一下自己是如何在学习和工作中应用 IPO 理念的。
input
input 表示“输入”,不过这个词在我的认知中,它表示的就是捞数据。反正呢,啥都别想,如果要开始上手撸代码,第一步得想的就是数据到底从哪来?
- 这个数据我们可以直接写死嘛?
- 这个数据是不是需要用户来输入呢?
- 这个数据需要我们自行到指定文件中读取?
- 这个数据是否需要通过调用后端服务接口来获取?
- ……
总之都是拿到需要处理的东西,也就是想清楚数据到底从哪里来,想清楚之后,就是去拿数据了。
其实结合文章的描述,我们发现 input 是一个不难理解的概念,但也请不要小看 input,它的的确确是一个难度比较大的关卡。回想当初,初学编程的我,手握着键盘,却愣是不知道应该先做什么,想必有不少小伙伴也会有这样的困惑。
process
process 表示“处理”,在我们渡过 input 阶段后,紧接着的就是 process 了,也就是处理数据。
说实在的,在日常的业务需求处理中,process 阶段算是 IPO 中相对简单的了,甚至很多情况下,它可以说是最简单的。
🤔 为什么会说 process 是最简单的呢???
对此,我想说请不要怀疑资本 💰 的力量!!!
看似 process 是最难的阶段,因为要处理数据呀,处理数据不是最复杂的步骤吗?这么理解没错,可是有一点我们需要去思考 —— 我正在做的这件事儿,之前是否也有人做过呢?
工作时候的我
- 我正在做什么? —— 业务
- 这业务能赚钱吗? —— 不知道,但最终目标都是奔着 💰 去的
- 既然做这件事儿能赚钱,那么是否有人已经做过了呢? —— 开始找工具
- 这事儿能赚钱,那肯定会有人想要让这件能够赚钱的事儿办起来更省力吧? —— 对比并选择合适的工具
文中提到 process 阶段可以找到不少现成的工具,那么 input、output 是否也可以像思考 process 这样思考呢?完全没有问题,先尝试去找工具再说,不过由于 input、output 的形式比较花里胡哨,貌似更多情况,我们不那么容易找到合适的、直接可用的工具,因此大多是手写。
可以明确地告诉大家,就日常工作中经常会遇到的那些业务需求,几乎都能够找到现成的工具来用。
也算是前人摘树后人乘凉了
output
ouput 表示“输出”,也就是把数据以正确地方式丢出去,至于如何丢,和 input 一样,这也是一个比较大的话题
- 可能是绘制到页面上
- 可能是直接通过终端打印出来
- 亦或者通过网络请求将处理结果返送给后端服务
- ……
小结
每一步具体该怎么做?如何做更高?准确率更好?…… 等等一系列问题,都是在学习过程中的重点。
在学习或者工作的时候,时刻想着自己目前正在学习的内容 —— 对应第几个步骤。