自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

奇文共賞:小Bug找媽媽

移動開發(fā)
從程序猿手下出來的第一天,它看到旁邊一個遞歸函數(shù),運行速度慢得出奇!他想,這就是我的媽媽了吧!它坐過去大喊一聲:“Debug”,沒有反應。小 bug 才注意到,這個遞歸函數(shù)終于求到了返回值。而自己,還在死循環(huán)。

從程序猿手下出來的第一天,它看到旁邊一個遞歸函數(shù),運行速度慢得出奇!他想,這就是我的媽媽了吧!它坐過去大喊一聲:“Debug”,沒有反應。小 bug 才注意到,這個遞歸函數(shù)終于求到了返回值。而自己,還在死循環(huán)。

這時候一個小聲音想起來:“它可不是你媽媽,它不是 bug,不需要 debug!”小 bug 循聲望去,看到一個不太快的小函數(shù)神氣地看著他。

“你是誰?”

“我是廣度優(yōu)先查找函數(shù),和這個大家伙都是查找算法,它叫深度優(yōu)先查找函數(shù)!還是用遞歸的呢!”。

“真厲害!還能節(jié)劃分成好多個子規(guī)模任務呢??!”

“它可一點兒也不快,哈哈,我們倆名字很像,這是我倆搜索策略不一樣而已,不過論空間復雜度,它可比不過我!我的用途很大,網(wǎng)絡爬蟲都用得到我的算法!”

“那這是哪兒???”

“這是成員函數(shù)聲明??!我和深度優(yōu)先搜索函數(shù)一樣,都是圖類的成員函數(shù)。我運行的時候啊,還需要建立個隊列。深度優(yōu)先搜索函數(shù)運行可不容易,它 先得調(diào)用系統(tǒng)棧,把自己的函數(shù)地址變量神馬的信息都壓入系統(tǒng)棧,然后去遍歷節(jié)點。等這一枝遍歷完了,才能去遍歷下一枝。它的遞歸樹可是幾何級的增長呢!我 只需要創(chuàng)建個隊列,不用管效率低下的編譯器優(yōu)化,因為所有調(diào)用都是我自己控制!遍歷完了這個節(jié)點,遍歷同級節(jié)點!空間非常節(jié)省呢!牛吧?”

“牛!”

“不過我們的搜索深度不如這個家伙大,他要是被調(diào)用了,就會一直遍歷到葉節(jié)點!”

“哦,真是挺厲害的,你們家族還有沒有比他還快的?”

“有?。?rdquo;

“如果你要做路徑搜索,啟發(fā)式的A*算法就是??!在一個巨大的二維地圖中找最短路徑,比逐像素點遍歷要快的多呢!”

小 bug 贊嘆道:“真厲害!”

“你想要找媽媽啊,要不你問一下你的親戚編譯錯誤和邏輯錯誤吧!我看到他們了,在那邊呢!”

小 bug 走過去,聽到他們正在聊天。

編譯錯誤說:“現(xiàn)在編譯器真是越來越混亂。有的時候我可以在 for 循環(huán)里頭定義變量,有的時候就變成重定義了!亂七八糟的編譯器版本真是讓這幫 ACMer 苦逼死了!唉!鬧心!”

邏輯錯誤說道:“我就更鬧心啦!你們好歹用個編譯器就能檢測出來,我們只要出現(xiàn),不去單步調(diào)試很難找到哪里出錯的!沒辦法,只能重構(gòu)系統(tǒng) 了。。。”說著,邏輯錯誤在函數(shù)前面加了個斷點,“都怪前一天晚上程序猿靠咖啡撐到 4 點沒睡覺!現(xiàn)在只要寫代碼,基本上都是邏輯錯誤,腦子都不轉(zhuǎn)了!”。

編譯錯誤說:“我們也挺慘,別管怎么說你們還能被執(zhí)行,我們連被執(zhí)行的機會都沒有??!”

邏輯錯誤:“這又是為啥?。?rdquo;

編譯錯誤:“我的程序猿用的是編譯型語言,不是腳本語言,編譯錯誤了,一行都執(zhí)行不了!”

小 bug 走到他們面前說:“叔叔們好,你們見過我媽媽嗎?”

編譯錯誤:“哦,你是小 bug 吧?你媽媽曾經(jīng)在這兒住過,后來不知為啥搬家了!你可以問問析構(gòu)函數(shù),所有對象被銷毀前都會去他那兒報道,它道上朋友多!”

小 bug:“名字聽起來像個死神!”

編譯錯誤:“可不是么!他們這個功能可大了。他們能夠把對象所占的資源釋放給系統(tǒng),防止 wild pointer 的產(chǎn)生!”

小 bug:“他們是怎么被調(diào)用的?”

編譯錯誤:“大多還不是系統(tǒng)調(diào)用的?當對象要被銷毀了,或者程序猿對對象使用了 delete,析構(gòu)函數(shù)就是在這個時候被調(diào)用的!調(diào)用完了系統(tǒng)又會切回到執(zhí)行析構(gòu)函數(shù)的后面的那條語句!”

邏輯錯誤:“是??!你可以跟著一個即將被銷毀的對象一起走,他可能能幫你點兒忙,順著調(diào)用語句往下單步執(zhí)行,遲早能找到媽媽的!”

小 bug:“好的,謝謝二位!”

小 bug 鉆到了對象里頭,順著函數(shù)調(diào)用隊列走啊走啊,忽然碰見一個被執(zhí)行了一半的語句,身上還有個大大的箭頭。

“你是?”

“這時一粗一細兩個聲音說:不是我,是我們!我們是兩個指示標記!他是斷點,我是執(zhí)行指示箭頭!”

斷點說:“我們經(jīng)常遇見在一起,然后又分離”。

“真悲情,你們從程序?qū)懗鰜砭驮谝黄鹈矗?rdquo;

“不是的,我們最小的時候,程序員還不知道有 bug,所以他不會 debug,會直接 run 的。那個時候斷點會被忽略,執(zhí)行指示箭頭甚至都木有出現(xiàn)過!直到程序有了 bug,程序猿又不知道從那里出現(xiàn)的問題,就需要用到我們了。debug 的時候,程序指示箭頭會自動跳轉(zhuǎn)到第一個斷點。我們就相遇了!”

小 bug:“好厲害!你們還可以被程序猿選擇性地執(zhí)行?”

“沒什么啊,跳入和跳出都是程序猿控制的呢!”

“真厲害!順便問一下:你們見過我的媽媽沒?”

“好像聽 return 語句說過,不太清楚。”

小 bug 又走啊走啊走到了函數(shù)結(jié)尾。

一個返回語句走過來說:“聽說你找媽媽呢,老大讓我?guī)阕摺?rdquo;

“謝謝!”

“不用客氣,反正我也必須得走這一段。”

他們一起走出了函數(shù),走到了等號右邊,身上還帶著一堆天上掉下來不得不接住的數(shù)據(jù)。

小 bug 摸摸等號,問:“你有沒有見過我媽媽?”

“不認識,你認識我么?”

“不認識。”

“怎么連我都不認識,我就是賦值運算符啊。”

返回語句說:“老大說他特咕嘟,可愛講故事了,咱一時半會兒走不了了,就當休息休息吧。”

“你們累了,聽大叔講故事吧!”

“好啊!”

“就講講我年輕時的故事吧,我剛被程序猿寫出來的時候還是個雙目運算符呢,就被重寫了,他好像叫運算符重載!”

“你怎么不像 sizeof 那樣不能被重載???”

“因為 sizeof 是有固定功能的啊!求數(shù)據(jù)長度,我一個等號不一定是用來賦值用的??!”

返回語句說:“這到跟我們有點兒像!不過我們只要調(diào)用就跳出函數(shù)”。

“小伙子有志向!”

“大叔你是一個人在這里嗎?”

“不是的,還有變量和變量類型呢!”

小 bug 才注意到旁邊有個變量。“他也是個保留字么?”

“他不是保留字,但是個標示符。”

“那旁邊的那個 int 呢?”

“那是它的數(shù)據(jù)類型生命,叫整數(shù)類型!”

“真有趣!”

小 bug 要去改動改動它,等號趕忙阻止:“別改,數(shù)據(jù)類型要是變了可就麻煩了!要是不能自動類型轉(zhuǎn)換,那程序就要崩潰了!”

聽完了故事,小 bug 一行又走啊走,走到了匯編存儲區(qū),小 bug 突然感覺到一股強大的雷擊,程序卡住了!返回語句大聲叫喊!抓牢了!我們要被 debug 了!

小 bug 突然覺得自己身上的器官排列得有點兒問題,于是一使勁,該換了幾個器官的位置,被程序指示箭頭掃了過去。

“我被 Debug 啦!變成正確的語句啦!”

“但是我還沒有找到媽媽呢!”小 bug 說著,又難過起來。

“孩子,我在這里呢!”遙遠的地方傳來一個聲音。

“媽媽?你在哪里?”

“我在程序猿沒喝完的咖啡里呢!”

小 bug 急忙飛奔出屏幕,抱住了慈祥的媽媽。

“其實你在經(jīng)過這里時我就看到你了,但是沒有叫你,他一藏在一個角落里,因為只有被程序猿 debug 這么一圈,你才能變成正確語句,你看,你已經(jīng)被 debug 了!變成了一個正確語句了!”

“是的!媽媽!我們再也不分開了?。?rdquo;


 

責任編輯:chenqingxiang 來源: friskit
相關(guān)推薦

2014-01-10 11:18:33

曙光NVIDIA思杰

2012-08-21 09:59:09

尼康

2020-03-27 15:18:45

漏洞bug開源

2018-05-24 09:24:27

2019-10-22 20:12:22

戴爾

2011-03-01 08:47:40

Visual Stud

2022-07-01 08:14:28

Dubbo異步代碼

2010-04-06 09:10:27

2020-04-21 14:39:25

Zoom黑客bug

2017-05-10 11:08:59

2023-04-12 10:49:24

2015-10-23 17:35:23

LG

2020-02-07 08:00:29

代碼Java8Bug

2017-09-13 15:42:20

iPhone

2010-11-03 10:01:32

Fedora 14截圖

2024-01-15 06:25:00

神經(jīng)網(wǎng)絡AI

2010-09-14 13:37:33

IDF 2010Intel Sandy

2013-08-13 15:49:25

Bug谷歌
點贊
收藏

51CTO技術(shù)棧公眾號