前言

IPO 是什么???

其实它是 input、process、output 的缩写

如果你也和我一样,是一位码农,那么对于 IO,一定是不陌生的,因为几乎是我们每天都在做的事儿。

这个词儿现在蛮常见的,包括在不少视频、文章中都有看到,比如:

至于 IPO 的由来,到底是谁先提出的,我想这并不重要,重要的是如何理解并实践 IPO 的理念。我突然想要写这么一篇儿文章,也是摸索出了那么一丢丢规律,并且自己也获益不少,出于此目的 —— 分享一下自己是如何在学习和工作中应用 IPO 理念的。

input

input 表示“输入”,不过这个词在我的认知中,它表示的就是捞数据。反正呢,啥都别想,如果要开始上手撸代码,第一步得想的就是数据到底从哪来?

  1. 这个数据我们可以直接写死嘛?
  2. 这个数据是不是需要用户来输入呢?
  3. 这个数据需要我们自行到指定文件中读取?
  4. 这个数据是否需要通过调用后端服务接口来获取?
  5. ……

总之都是拿到需要处理的东西,也就是想清楚数据到底从哪里来,想清楚之后,就是去拿数据了。

其实结合文章的描述,我们发现 input 是一个不难理解的概念,但也请不要小看 input,它的的确确是一个难度比较大的关卡。回想当初,初学编程的我,手握着键盘,却愣是不知道应该先做什么,想必有不少小伙伴也会有这样的困惑。

process

process 表示“处理”,在我们渡过 input 阶段后,紧接着的就是 process 了,也就是处理数据。

说实在的,在日常的业务需求处理中,process 阶段算是 IPO 中相对简单的了,甚至很多情况下,它可以说是最简单的。

🤔 为什么会说 process 是最简单的呢???
对此,我想说请不要怀疑资本 💰 的力量!!!

看似 process 是最难的阶段,因为要处理数据呀,处理数据不是最复杂的步骤吗?这么理解没错,可是有一点我们需要去思考 —— 我正在做的这件事儿,之前是否也有人做过呢?

工作时候的我

  1. 我正在做什么? —— 业务
  2. 这业务能赚钱吗? —— 不知道,但最终目标都是奔着 💰 去的
  3. 既然做这件事儿能赚钱,那么是否有人已经做过了呢? —— 开始找工具
  4. 这事儿能赚钱,那肯定会有人想要让这件能够赚钱的事儿办起来更省力吧? —— 对比并选择合适的工具

    文中提到 process 阶段可以找到不少现成的工具,那么 input、output 是否也可以像思考 process 这样思考呢?完全没有问题,先尝试去找工具再说,不过由于 input、output 的形式比较花里胡哨,貌似更多情况,我们不那么容易找到合适的、直接可用的工具,因此大多是手写。

可以明确地告诉大家,就日常工作中经常会遇到的那些业务需求,几乎都能够找到现成的工具来用。

也算是前人摘树后人乘凉了

output

ouput 表示“输出”,也就是把数据以正确地方式丢出去,至于如何丢,和 input 一样,这也是一个比较大的话题

  1. 可能是绘制到页面上
  2. 可能是直接通过终端打印出来
  3. 亦或者通过网络请求将处理结果返送给后端服务
  4. ……

小结

每一步具体该怎么做?如何做更高?准确率更好?…… 等等一系列问题,都是在学习过程中的重点。

在学习或者工作的时候,时刻想着自己目前正在学习的内容 —— 对应第几个步骤。