官术网_书友最值得收藏!

第83章 一根筋的程序員

  • 創(chuàng)客茶社
  • 鯤霸
  • 3065字
  • 2019-11-26 21:55:17

這天,戚斌暄正在店里備課,一個(gè)送外賣(mài)的來(lái)給茶客送餐。戚斌暄抬頭瞄了一眼,然后接著準(zhǔn)備備課,忽然,他感覺(jué)那個(gè)送外賣(mài)的很眼熟,再仔細(xì)看看,原來(lái)是自己的發(fā)小,孫沐,外號(hào)孫木頭。

戚斌暄喊了聲:“孫木頭?!蹦侨宿D(zhuǎn)過(guò)頭來(lái),看來(lái)也認(rèn)出了戚斌暄,尷尬地笑笑,說(shuō)的:“原來(lái)是斌暄啊,你不是當(dāng)兵去了嗎?在這干嘛?!?

“退伍了唄,幫我爸看店。我聽(tīng)說(shuō)你是程序員啊,怎么送外賣(mài)了?”

“哎,一言難盡啊?!睂O木頭嘆了口氣,有著深深的無(wú)奈。

戚斌暄問(wèn)他有空沒(méi),好久不見(jiàn),有空就坐下來(lái)聊聊。

孫沐看看手機(jī),說(shuō)道:“單子都送完了,行啊,好久不見(jiàn),咱們聊聊。”

孫沐坐下來(lái),接過(guò)戚斌暄遞過(guò)來(lái)的茶水問(wèn)道:“你這腿怎么了?”

“當(dāng)兵時(shí)受傷了,不過(guò)不礙事,基本上痊愈了,拄著拐走路沒(méi)問(wèn)題?!比缓笃荼箨寻腴_(kāi)玩笑的問(wèn):“現(xiàn)在送外賣(mài)比程序員掙錢(qián)嗎,你怎么改行了?!?

孫沐開(kāi)始倒苦水:“哎,工作不容易啊。我一開(kāi)始在一家私人公司干活,雖然加班,卻也沒(méi)啥。咱就是干的這活,但是連著三個(gè)月不發(fā)工資就不像話(huà)了。于是一怒之下,我們幾個(gè)干活的聯(lián)合起來(lái)把老板告了。雖然大理寺判贏了,但是老板也把我們開(kāi)除了?!?

這不廢話(huà)嗎,你們將老板告了,能再用你們才怪呢。

戚斌暄又問(wèn):“那之后你也可以接著去別的地方干啊,干嘛改行呢?”

孫沐接著說(shuō)道:“之后,我就去了一家小型開(kāi)發(fā)加密狗的軟件公司。我參與開(kāi)發(fā)的是一個(gè)市政道路的排水軟件。工作期間,我發(fā)現(xiàn)了這款軟件有一個(gè)程序上的問(wèn)題。對(duì)了,你對(duì)程序了解嗎?”

戚斌暄眼睛斜著向上望了望天,思考了幾秒,然后說(shuō)道:“了解的不多。我聽(tīng)說(shuō)程序一般比較死板,嚴(yán)格按照代碼規(guī)定辦事。比方說(shuō)有個(gè)程序員老婆給他說(shuō),你去上街買(mǎi)幾斤蘋(píng)果,要是看見(jiàn)西瓜,就買(mǎi)一個(gè)。然后程序員買(mǎi)水果回來(lái),只帶了一個(gè)蘋(píng)果。因?yàn)榘凑沾a規(guī)定,‘看見(jiàn)西瓜’就相當(dāng)于條件代碼,‘買(mǎi)一個(gè)’就成了改變‘買(mǎi)幾斤水果’的執(zhí)行代碼了,所以就應(yīng)該‘買(mǎi)一個(gè)蘋(píng)果’了?!?

孫沐聽(tīng)后會(huì)心地笑了起來(lái),最開(kāi)始被熟人認(rèn)出來(lái)的尷尬也逐漸淡去,接著說(shuō)道:“這個(gè)是老段子了。不過(guò)這個(gè)段子有個(gè)致命的bug,恩,也就是缺陷?!?

“哈哈,這個(gè)我還是能聽(tīng)懂的。不過(guò)缺陷在哪?”

“這個(gè)說(shuō)的是程序員老婆給他說(shuō)的,這怎么可能啊?程序員怎么會(huì)有老婆呢?”

戚斌暄也是哈哈大笑起來(lái):“你還是這么喜歡自嘲。”

“這可不是自嘲,這是自黑?!睂O沐也笑著說(shuō)道:“程序員是所有行業(yè)中最喜歡黑自己的,當(dāng)年我大宋朝第一土豪程序員就狠狠的黑了一把自己。記得是有個(gè)非常著名的報(bào)紙報(bào)道了一個(gè)專(zhuān)題,名字叫《屌絲:一個(gè)字頭的誕生》。然后第一土豪史大程序員就立馬搶注屌絲網(wǎng)游商標(biāo),那是一個(gè)他的頭像,旁邊寫(xiě)著‘我為屌絲代言’?!?

“哈哈,有意思。不過(guò)你有點(diǎn)跑題了,你剛才說(shuō)的排水軟件怎么了?”

“偶,跟這個(gè)也有點(diǎn)相關(guān),不算跑題?!睂O沐笑道,接著解釋?zhuān)骸皬膭偛艃扇齻€(gè)笑話(huà)你應(yīng)該能夠看出我們程序員的一些特點(diǎn),就是過(guò)謙。知道什么叫做過(guò)謙嗎?就是過(guò)了頭的謙虛。意思是程序員除了對(duì)自己技術(shù)的態(tài)度是自傲的,對(duì)其他一切都是過(guò)謙的。但是這個(gè)謙虛不是重點(diǎn),重點(diǎn)是對(duì)自己技術(shù)的自傲。專(zhuān)業(yè)領(lǐng)域,就是我的地盤(pán)!”

孫沐說(shuō)這話(huà)的時(shí)候,自帶著一股傲氣,喝了一口茶,接著說(shuō)道:“我在研究那個(gè)排水軟件的時(shí)候,發(fā)現(xiàn)了一個(gè)bug,會(huì)導(dǎo)致排水管線高程控制不合理。排水管線你懂嗎?就是城市管網(wǎng)的排水系統(tǒng)。這個(gè)排水管布置有三個(gè)前提。一是要遵循水流是從高往低流的客觀規(guī)律,也就是管道進(jìn)口高,出口低;二是要大于一定的坡度,保障水流通暢,有一定的流速;三是管道和路面要有一定的覆土,也就是覆蓋土的厚度,保障管道不會(huì)被過(guò)往車(chē)輛等損壞。恩,我說(shuō)的這些你懂嗎?”

孫沐又問(wèn)了一遍,畢竟這些知識(shí)點(diǎn)的前提都不懂,自己之后的解釋肯定也不懂了,那也沒(méi)啥意思不是。

“懂啊,基本的邏輯前提嗎。再說(shuō)了,咱是土木專(zhuān)業(yè)的,算是半個(gè)老本行了?!?

“那好,接下來(lái)給你解釋你就明白了。首先,按照第二條要求,要保障管道大于千分之一的最低坡度,也就是布置一千米最少高程要下降一米;按照第三條要求,要保證覆土,也就是土層必須大于六十公分。所以這兩個(gè)條件結(jié)合起來(lái),那個(gè)軟件的代碼就規(guī)定了,當(dāng)?shù)缆菲露却笥谇Х种坏臅r(shí)候,管道坡度等于道路坡度;當(dāng)?shù)缆菲露刃∮谇Х种?,甚至是反坡,反坡就是坡度向上走的路,這種時(shí)候,管道坡度就取千分之一。這個(gè)規(guī)定你感覺(jué)有毛病嗎?”

戚斌暄想了想,說(shuō)道:“應(yīng)該沒(méi)啥毛病吧?”

孫沐正色地說(shuō)道:“不,毛病大了去了。編制程序是嚴(yán)謹(jǐn)?shù)?,必須考慮多種情況,還需要結(jié)合運(yùn)行的反饋修改修正。排水管線的布置,需要考慮的實(shí)際情況有很多,怎么能夠只根據(jù)這兩條就去設(shè)置呢?比方說(shuō)我就找到了一個(gè)不合理的情況。你看,假設(shè)排水管線從起點(diǎn)到終點(diǎn)的布置,總長(zhǎng)兩千米平均分為兩段,一段一千米。起點(diǎn)到一千米處,設(shè)置反坡,道路升了一米。這時(shí)候就要求管線按照降一米的最小坡度計(jì)算,也就是說(shuō),起點(diǎn)管線覆土六十公分,到一千米處覆土一點(diǎn)六米。沒(méi)錯(cuò)吧?”

戚斌暄腦中回想了下大概圖形,就是近似大于號(hào)的兩條線,上邊的是道路,下邊的是排水管,然后對(duì)照要求,說(shuō)道:“沒(méi)錯(cuò)。”

“好,那從一千米到兩千米處,道路坡度變成了下降兩米,大于最小坡度,所以按照代碼規(guī)定,管道坡度等于道路坡度,也就是一千米下降兩米,這個(gè)沒(méi)問(wèn)題吧?”

戚斌暄腦中浮現(xiàn)出了兩個(gè)平行線,方向向右下,然后回到:“應(yīng)該也沒(méi)問(wèn)題吧?”

孫木頭這時(shí)候笑著說(shuō)道:“不,有問(wèn)題。雖然按照代碼的規(guī)則是對(duì)的,也能滿(mǎn)足排水管布置的三個(gè)前提。但是,這不切合實(shí)際。你看,最開(kāi)始覆土零點(diǎn)六米,中間段覆土變成了二點(diǎn)六米,后半段因?yàn)楣芫€和道路坡度一致,都是二點(diǎn)六米。沒(méi)錯(cuò)吧?”

“沒(méi)錯(cuò)?!?

“好,假如我把后半段,管線坡度改為千分之一,這樣,一千米降一米,結(jié)合道路是一千米降兩米,終點(diǎn)覆土就變成了一點(diǎn)六米。照樣符合排水管布置的三個(gè)前提。沒(méi)錯(cuò)吧?所以說(shuō),那個(gè)代碼有bug,存在缺陷?!?

“等等?!逼荼箨呀型?,縷了下思路,又拿出一張紙劃拉了幾下,然后說(shuō)道:“恩,你說(shuō)的沒(méi)錯(cuò),這種情況確實(shí)存在。但是那也只能說(shuō)明你那個(gè)情況是更加優(yōu)化的選擇吧。不能說(shuō)原代碼存在缺陷吧?”

“不,這中間差別很大啊?!睂O沐接著解釋道:“你看,終點(diǎn)的覆土多了一米,說(shuō)明了管道布置就深了一米。這個(gè)你能明白吧?然后呢,就費(fèi)工費(fèi)料費(fèi)錢(qián),增加了投入。一千米顯不出來(lái),但是城市管網(wǎng)可不止一千米,一千米之后的布置都要累計(jì)加上這挖深的一米,那浪費(fèi)的可就是天文數(shù)字了?!?

“嘶——”戚斌暄這才明白問(wèn)題出在哪里:“果然,一個(gè)bug,能損失這么多錢(qián)啊?!?

孫沐嘆道:“是啊,但是不僅如此,浪費(fèi)錢(qián)是一個(gè)方面,還有就是可能導(dǎo)致管線布置不下去,造成方案失敗?!?

“這倒不至于吧?”戚斌暄疑惑地問(wèn)道:“按照原來(lái)的代碼,不是也能正常排水嗎?”

孫沐說(shuō)道:“那就要結(jié)合出水口考慮了。出水口一般設(shè)置在河道,讓雨水順著河道就流走了。但是呢,河道可是有高度的。比方說(shuō)比路面低三米,但是按照那個(gè)代碼,出水口成了低五米,那怎么流?反而成河水倒灌了。所以他那個(gè)很不合理?!?

“這么一說(shuō)我就明白了。那看來(lái)你發(fā)現(xiàn)的這個(gè)缺陷很重要啊。你提出來(lái)肯定能夠獲得領(lǐng)導(dǎo)重視的?!?

孫沐這時(shí)候耷拉著腦袋,說(shuō)道:“不,我被開(kāi)除了?!?

“啥?”戚斌暄問(wèn)道:“為什么啊?”

“我當(dāng)時(shí)跟組長(zhǎng)反映,然后組長(zhǎng)說(shuō)這個(gè)代碼邏輯嚴(yán)謹(jǐn),沒(méi)問(wèn)題。我跟他據(jù)理力爭(zhēng),解釋畫(huà)圖,怎么都說(shuō)服不了他。最后他也急了,說(shuō)我技術(shù)不行,還一根筋,不接受領(lǐng)導(dǎo)的正確建議,然后跟上級(jí)反映,把我開(kāi)除了?!?

“怎么這樣???”戚斌暄疑惑道:“不合理呀?!?

“后來(lái)我同事私下里跟我說(shuō),那個(gè)代碼是組長(zhǎng)編的,還深受領(lǐng)導(dǎo)好評(píng)。我那是挖人家根基呢。哼,一個(gè)明明發(fā)現(xiàn)錯(cuò)誤,但是卻死不悔改的程序員,不是個(gè)真正的程序員。”

主站蜘蛛池模板: 兴业县| 宕昌县| 通山县| 固原市| 娄底市| 尤溪县| 黔江区| 呼图壁县| 修水县| 崇左市| 河源市| 灵台县| 娄烦县| 龙岩市| 木里| 门源| 永和县| 余庆县| 重庆市| 长治县| 岗巴县| 南安市| 罗山县| 泰安市| 南川市| 开鲁县| 浠水县| 深水埗区| 康保县| 城固县| 叙永县| 泸西县| 禄劝| 西乌| 垦利县| 汉寿县| 阆中市| 鹤庆县| 台中县| 东兰县| 白银市|