笔趣趣 > 创客茶社 >创客茶社

第八十六章 一根筋的程序员

这天,戚斌暄正在店里备课,一个送外卖的来给茶客送餐。戚斌暄抬头瞄了一眼,然后接着准备备课,忽然,他感觉那个送外卖的很眼熟,再仔细看看,原来是自己的发小,孙沐,外号孙木头。

戚斌暄喊了声:“孙木头。”那人转过头来,看来也认出了戚斌暄,尴尬地笑笑,说的:“原来是斌暄啊,你不是当兵去了吗?在这干嘛。”

“退伍了呗,帮我爸看店。我听说你是程序员啊,怎么送外卖了?”

“哎,一言难尽啊。”孙木头叹了口气,有着深深的无奈。

戚斌暄问他有空没,好久不见,有空就坐下来聊聊。

孙沐看看手机,说道:“单子都送完了,行啊,好久不见,咱们聊聊。”

孙沐坐下来,接过戚斌暄递过来的茶水问道:“你这腿怎么了?”

“当兵时受伤了,不过不碍事,基本上痊愈了,拄着拐走路没问题。”然后戚斌暄半开玩笑的问:“现在送外**程序员挣钱吗,你怎么改行了。”

孙沐开始倒苦水:“哎,工作不容易啊。我一开始在一家私人公司干活,虽然加班,却也没啥。咱就是干的这活,但是连着三个月不发工资就不像话了。于是一怒之下,我们几个干活的联合起来把老板告了。虽然大理寺判赢了,但是老板也把我们开除了。”

这不废话吗,你们将老板告了,能再用你们才怪呢。

戚斌暄又问:“那之后你也可以接着去别的地方干啊,干嘛改行呢?”

孙沐接着说道:“之后,我就去了一家小型开发加密狗的软件公司。我参与开发的是一个市政道路的排水软件。工作期间,我发现了这款软件有一个程序上的问题。对了,你对程序了解吗?”

戚斌暄眼睛斜着向上望了望天,思考了几秒,然后说道:“了解的不多。我听说程序一般比较死板,严格按照代码规定办事。比方说有个程序员老婆给他说,你去上街买几斤苹果,要是看见西瓜,就买一个。然后程序员买水果回来,只带了一个苹果。因为按照代码规定,‘看见西瓜’就相当于条件代码,‘买一个’就成了改变‘买几斤水果’的执行代码了,所以就应该‘买一个苹果’了。”

孙沐听后会心地笑了起来,最开始被熟人认出来的尴尬也逐渐淡去,接着说道:“这个是老段子了。不过这个段子有个致命的bug,恩,也就是缺陷。”

“哈哈,这个我还是能听懂的。不过缺陷在哪?”

“这个说的是程序员老婆给他说的,这怎么可能啊?程序员怎么会有老婆呢?”

戚斌暄也是哈哈大笑起来:“你还是这么喜欢自嘲。”

“这可不是自嘲,这是自黑。”孙沐也笑着说道:“程序员是所有行业中最喜欢黑自己的,当年我大宋朝第一土豪程序员就狠狠的黑了一把自己。记得是有个非常著名的报纸报道了一个专题,名字叫《丝:一个字头的诞生》。然后第一土豪史大程序员就立马抢注丝网游商标,那是一个他的头像,旁边写着‘我为丝代言’。”

“哈哈,有意思。不过你有点跑题了,你刚才说的排水软件怎么了?”

“偶,跟这个也有点相关,不算跑题。”孙沐笑道,接着解释:“从刚才两三个笑话你应该能够看出我们程序员的一些特点,就是过谦。知道什么叫做过谦吗?就是过了头的谦虚。意思是程序员除了对自己技术的态度是自傲的,对其他一切都是过谦的。但是这个谦虚不是重点,重点是对自己技术的自傲。专业领域,就是我的地盘!”

孙沐说这话的时候,自带着一股傲气,喝了一口茶,接着说道:“我在研究那个排水软件的时候,发现了一个bug,会导致排水管线高程控制不合理。排水管线你懂吗?就是城市管网的排水系统。这个排水管布置有三个前提。一是要遵循水流是从高往低流的客观规律,也就是管道进口高,出口低;二是要大于一定的坡度,保障水流通畅,有一定的流速;三是管道和路面要有一定的覆土,也就是覆盖土的厚度,保障管道不会被过往车辆等损坏。恩,我说的这些你懂吗?”

孙沐又问了一遍,毕竟这些知识点的前提都不懂,自己之后的解释肯定也不懂了,那也没啥意思不是。

“懂啊,基本的逻辑前提吗。再说了,咱是土木专业的,算是半个老本行了。”

“那好,接下来给你解释你就明白了。首先,按照第二条要求,要保障管道大于千分之一的最低坡度,也就是布置一千米最少高程要下降一米;按照第三条要求,要保证覆土,也就是土层必须大于六十公分。所以这两个条件结合起来,那个软件的代码就规定了,当道路坡度大于千分之一的时候,管道坡度等于道路坡度;当道路坡度小于千分之一,甚至是反坡,反坡就是坡度向上走的路,这种时候,管道坡度就取千分之一。这个规定你感觉有毛病吗?”

戚斌暄想了想,说道:“应该没啥毛病吧?”

孙沐正色地说道:“不,毛病大了去了。编制程序是严谨的,必须考虑多种情况,还需要结合运行的反馈修改修正。排水管线的布置,需要考虑的实际情况有很多,怎么能够只根据这两条就去设置呢?比方说我就找到了一个不合理的情况。你看,假设排水管线从起点到终点的布置,总长两千米平均分为两段,一段一千米。起点到一千米处,设置反坡,道路升了一米。这时候就要求管线按照降一米的最小坡度计算,也就是说,起点管线覆土六十公分,到一千米处覆土一点六米。没错吧?”

戚斌暄脑中回想了下大概图形,就是近似大于号的两条线,上边的是道路,下边的是排水管,然后对照要求,说道:“没错。”

“好,那从一千米到两千米处,道路坡度变成了下降两米,大于最小坡度,所以按照代码规定,管道坡度等于道路坡度,也就是一千米下降两米,这个没问题吧?”

戚斌暄脑中浮现出了两个平行线,方向向右下,然后回到:“应该也没问题吧?”

孙木头这时候笑着说道:“不,有问题。虽然按照代码的规则是对的,也能满足排水管布置的三个前提。但是,这不切合实际。你看,最开始覆土零点六米,中间段覆土变成了二点六米,后半段因为管线和道路坡度一致,都是二点六米。没错吧?”

“没错。”

“好,假如我把后半段,管线坡度改为千分之一,这样,一千米降一米,结合道路是一千米降两米,终点覆土就变成了一点六米。照样符合排水管布置的三个前提。没错吧?所以说,那个代码有bug,存在缺陷。”

“等等。”戚斌暄叫停,缕了下思路,又拿出一张纸划拉了几下,然后说道:“恩,你说的没错,这种情况确实存在。但是那也只能说明你那个情况是更加优化的选择吧。不能说原代码存在缺陷吧?”

“不,这中间差别很大啊。”孙沐接着解释道:“你看,终点的覆土多了一米,说明了管道布置就深了一米。这个你能明白吧?然后呢,就费工费料费钱,增加了投入。一千米显不出来,但是城市管网可不止一千米,一千米之后的布置都要累计加上这挖深的一米,那浪费的可就是天文数字了。”

“嘶”戚斌暄这才明白问题出在哪里:“果然,一个bug,能损失这么多钱啊。”

孙沐叹道:“是啊,但是不仅如此,浪费钱是一个方面,还有就是可能导致管线布置不下去,造成方案失败。”

“这倒不至于吧?”戚斌暄疑惑地问道:“按照原来的代码,不是也能正常排水吗?”

孙沐说道:“那就要结合出水口考虑了。出水口一般设置在河道,让雨水顺着河道就流走了。但是呢,河道可是有高度的。比方说比路面低三米,但是按照那个代码,出水口成了低五米,那怎么流?反而成河水倒灌了。所以他那个很不合理。”

“这么一说我就明白了。那看来你发现的这个缺陷很重要啊。你提出来肯定能够获得领导重视的。”

孙沐这时候耷拉着脑袋,说道:“不,我被开除了。”

“啥?”戚斌暄问道:“为什么啊?”

“我当时跟组长反映,然后组长说这个代码逻辑严谨,没问题。我跟他据理力争,解释画图,怎么都说服不了他。最后他也急了,说我技术不行,还一根筋,不接受领导的正确建议,然后跟上级反映,把我开除了。”

“怎么这样啊?”戚斌暄疑惑道:“不合理呀。”

“后来我同事私下里跟我说,那个代码是组长编的,还深受领导好评。我那是挖人家根基呢。哼,一个明明发现错误,但是却死不悔改的程序员,不是个真正的程序员。”

相关推荐:数世夙缘英雄联盟女魔王海贼世界的替身使者网游之遗失的美好逃命吧作者君重生搬砖工的小日子家中悍夫有点多星空寻道记长生药缘我买了个地狱