场景

坐在显示器前打了一整天代码后,小明决定在睡前先出去活动活动。因为,最近实在胖了不少。

“夜跑遇上烧烤摊”是件很残忍的事,所幸小明今天没遇见烧烤摊,但他遇上了菠萝。没错他非常喜欢吃菠萝。
但是今天的食物摄入量已经达到了上限,再多吃一点,小明就会违反昨晚制定的塑身计划。虽然小明经常这样做,但是这次,小明决定再坚持坚持。但回过头来,小明觉得也许可以今天买,明天吃。正所谓,“楼都下了,不买点东西带上去,怎么对得起被消耗掉的卡路里”。小明买下了一个又大又黄的菠萝。

付完钱,菠萝大爷熟练地操起那把在月光下闪闪发光菠萝刀,正准备对菠萝进行去皮服务。小明在这紧急的不到一秒的关头想到:今天削了皮,明天可就不好吃了,不能削,千万不能削。于是当即大喝一声,”刀下留菠!,,萝“。菠萝大爷倒没被这阵势吓到,只是漫不经心地说了一句,”是打算明天再吃吧“。
小明一方面为刚才的不礼貌感到抱歉,另一方面也惊叹于菠萝大爷的云淡风轻。于是,来了一波”道歉、感谢、再见“三连,匆匆赶回家中去了。

回家的路上,小明越发觉得事情有些蹊跷。因为虽然名义上削菠萝服务是免费的,但是自古羊毛出在羊身上,削菠萝的费用其实是包含在了买菠萝的费用之中的——小明为没享受到的服务,买了单,小明的心里,结下了很不舒服的疙瘩。
可他转念又想到,这人世间,也许的确大概会广泛有这种不合理的现象,毕竟这不是机器的世界,不能像机器的世界里那样——一切都有最好的安排,或者至少朝着最好的安排发展。
可他又转念,做了一个假设,如果把削菠萝服务的费用单列出来,结果会不会有所逆转:菠萝的费用适当降低,削菠萝需另外支付一笔”服务费“。虽然削菠萝很麻烦,但是淘宝上的菠萝刀也不过几块钱,小明觉得这样很是可行。【故事完】

分析:人们应不应该家中常备菠萝刀?

首先,下面的分析是在小明提出的假设之下进行的:如果削菠萝的费用另算,那么人们家中是否应当常备一把菠萝刀。
另外,要刨除家庭富裕的一类人。强者的世界我是不懂的,也许,他们吃菠萝时,会专门从产地挑选优质的菠萝,再经由专业的菠萝刀客,对菠萝进行去皮浅加工。如果事态紧急,至少也可以吩咐管家当即下楼买来理论上较为新鲜的菠萝。
菠萝刀对他们是没有意义的。甚至,对”一般富裕“者,也没有意义。题目中的”人们“专指那些点个外卖都要先把能领的优惠券统统领一下的一类穷人,比如我。所以如果你有很多钱的话,就可能不太容易理解下面的分析,除非你把自己当作一个穷人。

假设一、如果你是一名菠萝食客

如果你(贫穷的你)也是一名喜欢吃菠萝的菠萝食客,那么应该买一把菠萝刀。至少,出于对被热爱对象的尊重,那是值得的。更何况,贫穷如我的你,哪里还敢让菠萝大爷提供有偿的去皮服务。
因为随着时间的推移、随着被吃掉菠萝的数量不断增加,去皮服务的开销总会超过菠萝刀的价格,那个时间点总会来。如果你住在大城市,人工服务费用较为昂贵,那么这个时间点也许会快很多。

假设二、如果你不是

如果你不是一名菠萝食客。但是放远目光,你一生吃掉的菠萝的数量也不会是一个小数(除非你讨厌吃菠萝)。那么去皮服务费超过菠萝刀价格的那一天也终将来临,只是会晚一点而已。如果把菠萝刀传承给下一代,下下一代,那么收益,也许是无穷的。所以理论上,你也应该备一把菠萝刀。

但实际上,也许并非如此。菠萝刀坏了怎么办、找不到了怎么办、我提前死了又没儿没女怎么办、我不会用刀怎么办,还有如果削菠萝的时间我能创造更多的财富怎么办?

结论

虽然大多数时候我们不应该重复造轮子,但是有些场景,还是可以让代码适当重复的

菠萝食客与菠萝刀:我们为什么应该重复造轮子相关推荐

  1. html模板原型,再也不用四处找原型模版了 墨刀模版库全面升级!

    话说最近 Material Design 更新了设计原则和规范,还发布了插件 Theme Editor 提高UI设计效率. 墨刀同样也没歇着,做了一项大更新: 全新升级原型模版,让原型设计的效率也up ...

  2. @param注解什么意思_Java反射是什么?看这篇绝对会了!

    反射是一个非常重要的知识点,在学习Spring 框架时,Bean的初始化用到了反射,在破坏单例模式时也用到了反射,在获取标注的注解时也会用到反射······ 当然了,反射在日常开发中,我们没碰到过多少 ...

  3. WooYun WIFI 成长史

    lxj616 · 2014/10/20 14:32 第一章:失传的菠萝神话 0x00 前言: WooyunWifi是一款基于Openwrt开发的无线审计测试固件,内置集成了众多著名无线/网络审计工具, ...

  4. 如何系统的自学python 知乎-应该怎样系统的学习Python标准库?

    先放个牛逼的学习资料:Python 3 Module of the Week,中文名<每周一个 Python 3 模块>.作者几乎实践了一遍全部标准库,并为每一个 API 补充了一段代码示 ...

  5. 教你成为全栈工程师(Full Stack Developer) 〇-什么是全栈工程师

    作为一个编码12年的工程师老将,讲述整段工程师的往事,顺便把知识都泄露出去,希望读者能少走一些弯路. 这段往事包括:从不会动的静态网页到最流行的网站开发.实现自己的博客网站.在云里雾里的云中搜索.大数 ...

  6. 移动应用开发必备工具盘点

     移动应用开发必备工具盘点 发表于2015-09-28 20:39| 3928次阅读| 来源作者投稿| 3 条评论| 作者欧开磊 开发者应用移动开发工具 width="22" ...

  7. 气泡提示效果css.html,用纯CSS3绘制高端简约的气泡提示框

    用纯css绘制一个简单的气泡提示框,对于长期关注课课家CSS3绘图教程的朋友来说是件轻而易举的事,但是程序员最不喜欢做的事情是重复造轮子,加上之前小编分享的几个气泡要么过于复杂,通用性不强,要么需要鼠 ...

  8. IEEE Spectrum:这些小机器人又好玩又实用,适合过年带回家

    郭一璞 编译自 IEEE Spectrum  量子位 报道 | 公众号 QbitAI 你没有开错公众号,量子位这次是带机器人来卖萌的. 春节要来了,回家车票问题解决之后,你想起了另一个难题: 给家里的 ...

  9. 随笔 | 读《写给年轻程序员的思考书》ii

    一名技术人员的能力高低,不仅仅在于编程,更多的是一种思维,越接触上层的技术与底层的原理,越是如此.当然,作为我们现在所处的位置,肯定要踏踏实实地撸代码,不要去过多思考高屋建瓴的东西.熟能生巧,手感热了 ...

最新文章

  1. XamarinSQLite教程添加测试数据
  2. 解决plt.savefig存的图是空白的
  3. 淘宝拼多多之争,从宏观的角度看拼多多是如何实现商业逆袭的?
  4. 一次MySQL线上慢查询分析及索引使用
  5. linux nvm 管理 nodejs,Nodejs 版本管理器: nvm 介绍
  6. vue中使用window.open会在url前自动添加本地服务器的地址bug修复
  7. onActivityResult在setResult之前被调用
  8. 考研高等数学张宇30讲笔记——第九讲一元函数积分学的几何应用
  9. appscan 9.0.3.12 版本下载
  10. namp常规扫描命令(超详细!推荐)
  11. 中外多角度破题司法判决“执行难”
  12. 为什么我不建议你裸辞做自媒体?
  13. 多因子模型与细分行业多因子测试源码(以医疗行业为例)
  14. 来一份Android动画全家桶(下篇)
  15. mybatis什么时候用的${}
  16. Python基础及语法
  17. ScratchJr-ScratchJr介绍
  18. 在线图片文字识别html,免费在线文字识别服务:Free Online OCR 快速图片转文本工具...
  19. [NAKED-ART] 05-01comp NO.00151 淑女の情景 [209P474.97M]
  20. 恒星的演化和几种最终归宿(包括黑洞、超新星等特殊天体)

热门文章

  1. 程序员访谈_可以用PHP编写出色的应用程序-访谈系列
  2. HDMI画面分割器功能应用
  3. 简要损益科目口诀,营业外收支和其他业务收支的区别
  4. 海康威视硬件对接介绍
  5. java 设计模式
  6. 瑞萨RA系列-开发环境搭建
  7. 模板引擎---template的简单使用
  8. 如何简单使用纯CSS3模仿时钟的指针转动
  9. 学在浙大只有查看权限的课件下载
  10. 【Beta阶段】第二次Scrum Meeting