天天看点

程序猿的午饭就是这么朴实无华且魔幻

大家好,我是寒草 🌿

无限未来,无限创造,乘风破浪,一往无前 ☀️

如果喜欢我的文章,可以关注 ➕ 点赞,与我一同成长吧~

荒诞至极的故事

​本文警示大家,代码需自测,要不没饭吃​

咳,众所周知,北京也算是一个美食荒漠,半年前,我还因为一些工作调整,来到了北京动物园附近办公,随后发现了一件可怕的事情:

荒漠之中还有荒漠,西直门简直美食地狱。

幸好我们公司的食堂品类较多:​

​刀削面​

​​,​

​麻辣香锅​

​​,​

​自选菜​

​​,​

​小笼包​

​​,​

​黄焖鸡​

​​,​

​米线​

​​,​

​烤鱼饭​

​​,​

​水饺​

​​,​

​云吞​

​​,​

​麻辣烫​

​...

虽然可以天天变着花样的吃,但是人总是会腻的!于是,我和小组里的同事们就针对“提升工作幸福感”问题进行了大规模的讨论,并形成了一套可实施落地的方案:

随机干饭大挑战

而这个挑战,也是我们噩梦的开端,让午饭变得越来越遥不可及...

荒诞至极的代码

如何达到随机干饭,我们的想法是这样的:

  • 交通方式是随机的
  • 吃饭的地点不能太远,保证两个小时午休时间可以往返

于是我们形成了一个结论:

我们随机交通工具和时长(站数),到达地点附近之后有什么吃什么。

随后我们把代码编写的任务交给了组里的 00 后小生,让他周末完成代码编写,随后我们在周一运行代码抽出周二的午餐内容,而他也“不负众望”,交出了这样一份代码:

const { random } = require('./utils/random')

const traffic = ['自行车', '公共汽车', '地铁', '11']
const direction = ['北', '东', '西', '南']
const busLine = [360, 362, 534, 111, 332, 347, 632, 129, 27, 87, 305, 604, 563, 107, 105]

const play = () => {
  const util = traffic[random(0, traffic.length-1)]
  const target = direction[random(0, direction.length-1)]
  if(util === '公共汽车') {
    return `${util} + ${target} + ${busLine[random(0, busLine.length -1)]}路 + ${random(5, 20)}站 (如果站数超过最大值则坐到终点)`
  } else if (util === '自行车') {
    return `${util} + ${target} + ${random(5, 15)}分钟`
  } else if(util === '地铁') {
    let line = ['6', '4']
    let destination = {
        '4': ['天宫院', '西苑'],
        '6': ['金安桥', '潞城']
    }
    let specific = line[random(0, 1)]
    return `${util} + ${specific}号线 + ${destination[specific][random(0, 1)]}方向 + ${random(5, 10)}站`
  } else {
    return `${util} + ${target} + 走${random(10, 20)}分钟`
  }
}

console.log(play())      

不得不说,他还是很有想法的,列出了四种交通方式:

  • 自行车
  • 公交车
  • 地铁
  • 11 路步行

其中的公交和地铁线路还是根据公司附近的公交与地铁站点筛选出来的,我们也对他提出了表扬。随后我们也运行了代码,抽出了本次随机干饭大挑战的目的地:

程序猿的午饭就是这么朴实无华且魔幻

而从公司附近乘坐六号线的始发地为:车公庄西

我们的终点站会是:廖公庄

于是,荒诞至极的故事开始了,我们也变成了荒诞至极的我们。

荒诞至极的我们

廖公庄,廖公庄,廖公庄,这三个字听声去就有好吃的,我们出发前应该是这么想的吧。

比如说什么:廖氏传家菜。

但是当我们下了地铁,一脸懵逼,给大家看看这一望无际的场面:

程序猿的午饭就是这么朴实无华且魔幻

但是我们不气馁,走啊走,边走边问,最后走到了:

程序猿的午饭就是这么朴实无华且魔幻

但是,这里面需要采购证才能进...而到这个时候,午休的时间也所剩无几了,于是只能掉头折返,这时我看到了这样一个牌子:

程序猿的午饭就是这么朴实无华且魔幻

田村路!听上去,就没啥好吃...真没想到,我们的行动居然以没吃上饭告终。

但是我们随机干饭挑战不会因为一次失败而打退堂鼓,欲知后事如何,请看下文。

荒诞至极的尾声

我们并没有因为一次的失利而放弃,而是进行了很多次挑战,然而大多数挑战都没有什么好的结果,其中一次代码运行的结果让我失去了对那份代码的信任:

程序猿的午饭就是这么朴实无华且魔幻

“你这厮,是不是代码写的有问题!”

“这六站地都是荒地了,7 站 9 站怎么去”

“你怎么老随机到这条线路”

我就去看了看随机函数是如何写的:

module.exports.random =  (a, b) => {
    return Math.floor(Math.random() * (a -b)) + b
}      

这应该是这样的:

module.exports.random =  (a, b) => {
    return Math.floor(Math.random() * (a - b + 1)) + b
}      

虽然只有一个数字的差别,但是直接导致之前随机到地铁金安桥方向的概率来到了离谱的 33%,我们看了看各自日渐消瘦的肉体,除了苦笑还是苦笑。

继续阅读