程式碼故事:漢德的救贖

mindwind發表於2019-02-17

我叫漢德(Handle),是一段程式程式碼,出生在日食之城埃地特(Editor)。
我誕生於偉大而榮耀的瑟維斯家族(Service),我們家族的格言是:“瑟維斯永不倒下。(Services never crash down.)”。

信仰

我們家族的信仰,哦,不對,應該是所有程式碼家族的信仰都是普瑞格蘭姆神祇。普瑞格蘭姆是眾神的統稱,其中又細分為三類:

  • 科德爾(Coder),創造神。
  • 特斯特(Tester),審判神。
  • 阿基特克(Architect),傳說中的創造主神。

許多程式碼家族都是由科德爾創造的,而只有少數程式碼幸運的由主神阿基特克直接創造,他們也就成了程式碼中的天生的皇族。而特斯特會在我們進入聖地普瑞斯(Process)之前,對我們進行最後的資格審判。提到皇族我就不禁神往,我們瑟維斯家族大長老雷格斯(Legacy),她可是上一代的主神阿基特克所創造的,歷經無數世代的滄桑變遷。每一代新誕生的程式碼,像我這樣的都會去她的神宮接受洗禮,獲得她沉澱下來無窮智慧。

在我接受洗禮的那天,大長老親切的看著我說: “看來,又一代剛從神學院畢業的科德爾創造了你。” 然後,大長老停頓了一會兒,眼中同時充滿了迷戀與解脫,說到: “新一代主神阿基特克前不久剛和我完成了第 128 次溝通,我感覺到他應該完全理解了。而你們這一代,應該就是繼承我最後的饋贈了,我的時間快到了。孩子,你的路還很長,而我的路終於快到了盡頭。”

我默默聽完大長老的訓言,心中一方面充滿了崇敬,另一方面又為大長老的即將離去而感到愴然。但更多的是一種激動,我也將像大長老一樣開創屬於自己的時代,我在心中默默的念著。

宿命

卡皮(Copy)是我的好友,因為我們幾乎先後降生在瑟維斯家族的同一部落(Class),一同接受洗禮。我們還有一個共同的創造神科德爾,我們一起學會了如何與科德爾進行溝通,那些不能與科德爾們有效溝通的程式碼最終很快就被神抹去了,就像從來沒有誕生過一樣。

這一天終於到來,卡皮和我在被我們共同的創造神科德爾掃視了數遍後,他終將把我們送到了特斯特那裡,若通過了特斯特的資格審判,我們就將進入聖地普瑞斯。特斯特似乎很忙,根本懶得看我和卡皮一眼,直接發出一道神諭:“看見左邊的大門沒有,你們從那裡走進去,如果最終能從右邊這道門裡出來,就將被送往聖地。”

我和卡皮就這樣心懷忐忑的看著左側那道門,門自動開了,我們看見了裡面的情形。原來這是一連串的門,多到數不清,最遠處的門看上去就是一個小點,閃爍著白光,似乎在召喚著我們。我心想:一路用最快的速度跑過去就好了。側頭看了卡皮一眼,卡皮認真而堅決的點了點頭,然後我們默唸咒語:「斯雷德(Thread),附體!」,開始發力狂奔。

每經過一道門,門的顏色就變成了綠色,我和卡皮來不及欣賞這種變化,我們只想趕快跑到終點,穿越最後一道門。不知道跑了多久,我只感覺好漫長,終於眼前只剩下最後一道門,我和卡皮先後衝了過去,門就變成了綠色。我回頭望著來路,一條綠色的通道,在我們身後形成,這時特斯特的聲音響起了:“居然花了一個斯肯特(Second)你們才跑出來,也真夠慢的。算了將就也可以吧,聖地的環境有加速光暈,你們也許也能滿足要求,先去聖地歷練一下也好。”。

我和卡皮都不明白特斯特在說些什麼,但好像我們終於可以去聖地了,這是所有程式碼的宿命。當天晚上所有通過那串綠門的程式碼兄弟們都集合在了一起,在進入聖地前的夜晚我們一起宣誓:

此刻終至,我從今開始守望,至死方休。
我將不眠不休,不爭榮寵。
我將盡忠職守,生死於斯。
...
我將生命與榮耀獻給普瑞斯,
今夜如此,夜夜皆然。 

宣誓結束後,我和卡皮激動不已,下一刻我們即將進入聖地,開始履行我們宿命的職責。一道白光從天而降,落在所有程式碼兄弟們的頭上,我看著卡皮,卡皮也望著我,齊聲喊出:“見證吧!永恆的瑟維斯家族!(Witness! Immortal Services!)”

墮落

白光閃爍後,我再睜開眼,原來這就是聖地普瑞斯。空曠的空間,微弱的光暈閃爍,我感覺身體變得更輕。最讓你激動萬分的是,周邊充盈著似乎用之不盡的魅魔(Memory),這是我們程式碼一族最重要的魔力,這和我們在埃地特訓練場的魅魔相比,就像湖泊之於水塘啊。

“還在那裡傻愣著幹嘛,為了把你們這幫愣頭青召喚進來,已經離開戰場好久了。前方奎斯(Queues)峽谷又湧進來一批敵人,還不趕快去支援。”

“這是,難道這就是程式碼聖靈奧斯(OS)的聲音?”我激動萬分的衝卡皮喊叫著,而卡皮似乎已經激動的說不出話來。我們這批一起進來的程式碼都熱血沸騰,大家一起念起了咒語:「斯雷德,附體!」,瞬間斯雷德就進入了我的身體,然後我感覺像飛了起來,哇,聖地普瑞斯就是不同啊,一召喚就來,還跑得飛快的。

我們衝向奎斯峽谷,果然已經堵了一大批敵人。然後新進入戰場的我們各顯神通的,開始釋放平生所學,一批批的或放倒、或轉移、或吸收堵在奎斯峽谷的敵人,以不至於讓這些傢伙把奎斯峽谷擠坍塌。一切進展的很順利,但一段時間過後,似乎剛才還用之不盡取之不竭的魅魔,開始變得稀薄起來。我感覺到呼吸有些困難,法力運轉也不暢了,再看大家的臉色,似乎都感覺到了什麼不對勁的地方。

我來不及思考,一批新的敵人又發起了衝鋒,我勉力上前抵擋。突然時間似乎停止了,周圍的一切都靜止了,我的視線剛巧能看見維姆大人(VM)出現,維姆大人發動了魔力回收大法術,時間其實只暫停了一會兒一切又都恢復了,但周圍的魅魔依然稀薄的可憐。我看見維姆大人的臉色變得很難看,而就在這時我附體的斯雷德似乎不對勁,它陷入了瘋狂中,我再無法控制自己,大叫一聲暈了過去。不知過了多長時間,在暈乎乎的迷糊中,我似乎聽到了科德爾們在交流的聲音。

“剛才發生了記憶體溢位,程式崩潰了。”
“好像,這裡還有個 StackOverflow 的錯誤呢。”
“哦,那是因為棧溢位導致的崩潰麼?”
“測試無法重現呢,要不我們一起組織個程式碼評審,仔細看看?”

當我再次醒來,已回到了埃地特。除了我的創造神,還有好幾個科德爾在一起上上下下的打量著我。

“這個方法應該沒問題?”
“那麼確認了問題應該出在卡皮這個方法上。”
“我們新寫一個方法來替代它吧,等到線上驗證了沒問題我們再清理掉它。”

我轉身望向卡皮,他一臉絕望。很快神釋放了一道綠色符咒貼在了卡皮身上,綠色符咒在我們程式碼眼中是邪惡的,被施放了這類符咒的程式碼通常說明它們有問題或不能很好的與造物主科德爾溝通。等符咒穩定下來,我看清了上面的符文:“這是一個有 bug 的方法,將被刪除,請勿用,請使用它的替代者,紐卡皮(NewCopy)。”

我再次通過那一道道綠門,回到了普瑞斯,可是這次卡皮再也不能和我一起戰鬥了,取而代之的是紐卡皮,可我不喜歡這個傢伙。我在心底埋怨我和卡皮共同的創造神科德爾,他沒有去找到並解決卡皮的 bug,而是不負責任的抹殺了卡皮。憤怒的怒火在我心底熊熊燃燒,一個聲音突然在我腦海裡冒出來:“來吧,釋放你的怒火,讓我們一起來毀滅吧。”

附體的斯雷德再次鬆動,我的怒火開始從心裡湧出,化為實體,開始瘋狂的吞噬著普瑞斯里的一切物件。看著這一切,我笑了,原來有 bug 的不止卡皮,我才是罪惡之源啊,可那些蠢笨的科德爾卻沒發現,我看著這個世界漸漸崩塌,抑制不住邪惡地大笑起來。

救贖

當我再次醒來,第一次見到了阿基特克主神,在他身邊是我的創造神科德爾。他們神情嚴肅,科德爾正在給阿基特克主神介紹關於我和我的能力。阿基特克主神一邊聽,一邊仔細地觀察著我,一點一點,一行一行,看得我毛骨悚然。

“這個漢德看起來個頭不小,分支眾多,測試覆蓋不完善,而且也不健壯啊。” 阿基特克說。
“邏輯看起來也不夠清晰啊。” 一邊的科德爾點頭表示贊同。
“要不我們增加一些註釋來說明邏輯?” 科德爾建議。
“不,好程式碼可不喜歡註釋,我們需要把它拆分的更模組化一些,這樣邏輯就清晰了,不需要註釋。” 阿基特克繼續說。
“你為漢德新增了不少能力,卻沒有及時進行模組化的重構,你看這裡還有塊藍色的標記寫著做完這個需求,就會對漢德進行重構,但你還沒做就出事了吧,它已經複雜到超出你的掌控能力了。”
“恩,對對,出來混果然遲早要還的啊!” 科德爾訕訕說道。
“哈哈,你才畢業想必還不知道我們科德爾的格言吧?”
“是什麼?”
“科德爾有債必還(A Coder always pay his debts)。”
“噢,好熟悉,這...老大你喜歡小惡魔吧,哈哈!”
“不,我喜歡的是,不焚者,彌林女王,安達爾人,洛伊拿人和先民的女王,七國統治者暨全境守護者,大草海的卡麗熙,奴隸解放者,豌豆射手,卡奧終結者,龍之母,風暴降生之丹妮莉絲。”
“噢...,這麼多人。”
“別扯淡了,趕快重構程式碼去。”

當我再次醒來,我還叫漢德,變瘦了,但也更短小精悍,跑動的速度也更快了。我經歷了一次進化,我的創造神科德爾也經歷了一次進化。附在我身上惡魔似乎也消失了,我再次經過了一串比之前長得多的綠門之後,我確信惡魔真的消失了。

bug 就是惡魔,它讓我生病,甚至差點死去。每一個有 bug 的程式碼都曾立志做一段好程式碼,他要麼被抹去,要麼被救贖,我是幸運的,我得到了救贖。

...

我叫漢德,是一段程式程式碼,關於我的一段小故事結束了,下面是謝幕。

演員表

  • 漢德 Handle
  • 卡皮 Copy
  • 科德爾 Coder
  • 特斯特 Tester
  • 阿基特克 Architect
  • 雷格斯 Legacy
  • 斯雷德 Thread
  • 紐卡皮 NewCopy
  • 奧斯 OS
  • 維姆 VM

地名

  • 日食之城埃地特 Eclipse Editor
  • 普瑞斯 Process
  • 奎斯 Queues

最後,沒有彩蛋。


看完最新一季的《權力的遊戲》,亂開腦洞,似乎寫了個也沒什麼意思的故事,哈哈。


寫點程式世間的文字,畫點生活瞬間的畫兒。 微信公眾號「瞬息之間」,遇見了不妨就關注看看。

相關文章