在蕭天解決掉那個懸賞之后,黑土平臺的交流板塊此刻多了不少的帖子。
“黑土再次驚現(xiàn)神秘大神啊,目前排名第一的懸賞竟然被人接走了,而且竟然還完成了!”——小云要繼續(xù)淦啊。
“好牛啊,那個懸賞聽說是天涯海角找了幾個熟悉的厲害的先去看了看,他們也沒有發(fā)現(xiàn)有什么問題,然后天涯海角才發(fā)出來懸賞的!不過有一說一,天涯海角是真的有錢!不止一次這么干了!”——一入代碼深似海。
“每隔幾個月黑土都會出現(xiàn)幾個神秘的大神,這不已經(jīng)習(xí)以為常了嗎?”——瑟瑟發(fā)抖小碼農(nóng)。
“我靠,那可是十萬塊錢的懸賞啊,好像不到一個小時就解決了,絕對是大神級別的!”——我要好好學(xué)習(xí)代碼。
“也不知道那個神秘的大神來不來交流區(qū),哪怕來指導(dǎo)一次都行!這種大神肯定能夠讓我受益匪淺!”——萌新級別的程序員。
“……”
當然,這一切都跟蕭天現(xiàn)在沒有關(guān)系,但是也有一種另外的間接關(guān)系,那就是這些帖子如果多了起來,那么天天這個號就會在黑土平臺也會成為一個知名的程序員大神,那個時候就或許有個別的廠商和個人直接私發(fā)懸賞給蕭天了!
總之,黑土平臺就相當于抖音啊快手啊之類的平臺,其只不過黑土平臺不是和抖音快手那樣子造就幸運兒,黑土平臺只會讓大神更加知名罷了。
而加了蕭天好友的那位曹志文,此刻也是在自己的一個程序員的私人群里面瘋狂的艾特。
曹志文:廢物,你們通通都是廢物!你們研究了幾天的代碼直接被大神一個小時就解決掉了,你說你們是不是非常的廢物!
汪球球:小蚊子你別在這里面群嘲哈,小心有人給你電腦給黑了你的!我們雖然沒有那位大神厲害,但是搞你還是不成問題的。
曹志文在別墅里面,看著這個頓時目瞪口呆,你們怎么還可以這樣?一點點羞愧感都沒有嗎?雖然你們說的好有道理,但是我也是絕對不會認慫的。
曹志文:跳過這個話題,我跟你們說,黑土上面我有大神的好友!
汪球球:真的假的?我能不能讓他指導(dǎo)我一下?
石興凱:把大神拉到我們?nèi)豪锩鎭戆。@么一個大神,隨便指導(dǎo)一下都足夠我們受用的了。
邵森林:能不能跟大神說一下,我也想加他。
曹志文眼皮亂跳,看著這幾個騷人,也是不由自主的無語。
曹志文:看看你們,看看你們,還能不能有點追求了,一個大神把你們?nèi)齻€都給炸出來了。
石興凱:小蚊子你別嘚瑟啊,要知道嘚瑟的人是從來沒有好下場的。
曹志文:大神應(yīng)該是缺錢的,如果你們有什么卡住的,我可以代你們私發(fā)懸賞給大神。
邵森林:那你要這么說,我的確有個問題,不過不是代碼上的問題,而是想要讓大神指導(dǎo)我一下怎么簡單的讀代碼。大神這么快就完成了你的懸賞,在讀代碼上面肯定有技巧的,你幫我問一下大神有沒有好的技巧,不過我沒有你那么豪氣,懸賞兩萬找大神要個讀代碼的技巧。
曹志文:行,我馬上幫你去問問大神。
………
蕭天此刻并不知道曹志文已經(jīng)在黑土平臺給他私發(fā)消息了,他現(xiàn)在并沒有登陸黑土平臺,而是在忙著收拾一下床被,待久了還是有點異味的。
然后床被整理好之后,接著就是再去洗了個澡,等到洗完澡的時候,精神很足的蕭天才再次的登陸黑土平臺,于老爺子和熙熙還沒睡醒就不用打擾了。
所以蕭天現(xiàn)在獲得了新能力還是很想繼續(xù)嘗試嘗試的,這個感覺可比投資之道的能力來錢快多了。
人臉識別成功之后,蕭天就看到了曹志文給他發(fā)的消息。
天涯海角:大神在嗎?大神在嗎?我朋友有個問題想要問你。
蕭天看到這里,也是微微一笑,剛上線就來活了,真好,而且根據(jù)曹志文的出售程度來看,他的朋友應(yīng)該也不會太過于小氣吧?
天天:在的。
天涯海角:大神,你終于上線了!我把懸賞私發(fā)給你了,你接一下。
蕭天果然是看到了有個懸賞在消息里面出現(xiàn)了,點擊了一下,蕭天眉頭挑了挑,竟然是兩萬,還算不錯,再一看有什么問題——怎么更簡單的讀代碼。
看到這里,蕭天也是微微的一愣,這是什么鬼問題啊,不過想了想,蕭天也是知道了,畢竟天涯海角之前的那個代碼其實難度是不低的,原本他看那個代碼都得要好幾天,但是因為曹志文直接說出了他的問題所在,所以蕭天也是憑借著牛人程序員的經(jīng)驗知識直接的免去了那要看幾天代碼的時間,因為他的那個問題,自己腦海里面牛人程序員經(jīng)驗知識里面就曾經(jīng)出現(xiàn)過,所以解決很輕松。
雖然是有牛人程序員的經(jīng)驗知識,但是讀代碼也還是有技巧的。
可能一些人認為寫代碼要比讀代碼難,因為寫代碼無從下手,但是實際上是讀代碼可比寫代碼難多了。
因為很多程序員都會出現(xiàn)一種自己寫完成的代碼,讓他幾天后去看,他都無法看懂!
很多人有時候也會刷到抖音上面的程序員的動畫,比如說,一個程序員寫代碼寫了幾天,突然有一天他也不知道自己寫了什么,但是代碼開始動了起來,這說明代碼成功了,但是他卻不知道代碼為什么會成功,你讓他去看這個代碼他就看不懂了。
所以說,讀代碼比寫代碼要難。
而曹志文的朋友也應(yīng)該是有一定水平的,所以蕭天覺得他想要的讀代碼的技術(shù)應(yīng)該不是top-down 和 bottom-up的這兩種模式了,因為這兩種大部分人可以用,也會用,算是很高效的了,所以如果他朋友計算機水平有的話,那么有掌握這兩種讀代碼的模式。
所以,他想要的應(yīng)該是更加簡單的,但是更加簡單的葉新晨也沒有,但是,根據(jù)專門的代碼,他的確是有技巧的。
天天:關(guān)于更簡單的閱讀代碼的方法我是沒有的,不過如果只是單單為了特殊情況的去讀代碼,那我還是有一定的技巧的。
曹志文看著大神發(fā)來的消息,也是趕緊再一次的回復(fù)。
天涯海角:天天大神,你說,不論有用沒有用,這懸賞都會給你,畢竟我朋友問這個問題也的確是有些強人所難了。
蕭天看著曹志文發(fā)來的消息,下意識的還是松了口氣,畢竟如果這個懸賞完成不了的話,那他的接懸賞任務(wù)的勝率也就是只有百分之五十了,這是蕭天也不能夠忍受的,畢竟他現(xiàn)在可是牛人級別?。?p> 而且……
他應(yīng)該先問是什么問題,而不是先接這個問題,差點就讓他沒有一個完美的解決辦法。
畢竟曹志文的朋友問的問題的確是有些別出心裁。
天天:行,那我先跟你說一下簡單的東西,讀代碼,肯定是讀寫的好的代碼,而這些代碼一般是遵循一些原則。而這些原則,很難從最后的代碼中反推出來。這些原則一般都是 declarative knowledge。而我們看到的代碼大多是 imperative code,即使是 functional program 或者 declarative language 的 code,一般也是用低級的抽象來描述高級的原則。
天天:舉一個類比。目前體育比賽中很多規(guī)則的修改,都是借鑒以往比賽中一些舊規(guī)則導(dǎo)致比賽比較沉悶,或者被運動員鉆空子的經(jīng)驗教訓(xùn),但是單單去看這些規(guī)則,你無法反推出來它們是為了避免什么情況。
天天:所以所謂的讀懂寫的比較好的代碼,一般是從代碼以外的途徑了解作者的意圖,然后再掌握作者貫徹這些意圖的一些基本習(xí)慣。
天天:就像你之前的懸賞一樣,如果沒有你的意圖和主觀的對我說問題的所在,你讓我去看去讀你的代碼也起碼得消耗很長時間。所以我的額外技巧也就是最好能夠掌握作者的意圖。
曹志文看到這里,也是有些茅塞頓開的感覺,這個技巧絕對非常實用的,因為他們也不是經(jīng)??创a的人,閱讀代碼也只是有時候檢查,或者是和朋友幾個看看寫的代碼,又或者是也接點懸賞練習(xí)一下。
他們真的不會去問寫出代碼的這個人是基于什么意圖去寫的,如果問一下,那他們?nèi)ラ喿x這個代碼再加上閱讀代碼的模式,絕對可以起到事半功倍的效果。
而且曹志文也覺得自己寫的時候也發(fā)現(xiàn)很多情況下邏輯被隱含了,特別是if-else這樣的,為什么有些情況可以合并,有些可以忽略,如果不注釋,光從代碼本身是難以看出的,所以如果能夠從自己的意圖去看,那么還是能夠發(fā)現(xiàn)缺陷的。
天涯海角:天天大神不愧是天天大神,這種技巧很實用。
的確很實用,因為這種極少如果沒有大量的經(jīng)驗是不可能想出來這種技巧的。
天天:另外有一種很出名的debug技術(shù),就是用靜態(tài)分析的方法找到代碼中的implied invariant,然后搜索有什么地方違反了這些原則。這個技術(shù)和我的技巧也是有一定的相似處,如果你還要研究怎么閱讀代碼,多去看看debug技術(shù)。
曹志文只覺得受益匪淺,大神不愧是大神。
天涯海角:好的,那我把懸賞結(jié)了。
很快,蕭天也是再一次的收到了銀行卡到賬的消息,兩萬塊錢也是又一次的到手!
這令蕭天開心的同時也是有點疑惑,因為他發(fā)現(xiàn)了一個很嚴重的問題,那就是他目前所解決的這些懸賞,無一例外,都是程序員經(jīng)驗解決的,而沒有用到程序員的知識!
這令蕭天有點想起高考一樣的題海戰(zhàn)術(shù),只要你題目做的越多,那么高考對于你就是很輕而易舉的事情,而計算機方面的也是一樣,關(guān)于程序問題代碼問題,那也是熟能生巧的事情。
當然如果還要繼續(xù)往上,那就得需要天賦了。
閑話少說,蕭天現(xiàn)在發(fā)現(xiàn)懸賞的都是屬于經(jīng)驗問題,而經(jīng)驗問題的的確確是很多程序員都缺的,而有經(jīng)驗的也的確都是各大公司的精英,他們的話就會很少玩這個黑土平臺,而沒有經(jīng)驗的自然是有很多問題,問同事那也不可能一直問,那么黑土平臺就是他們的懸賞地方了。
曹志文將懸賞結(jié)了以后,也是馬上把這些對話轉(zhuǎn)發(fā)給了邵森林的黑土賬號。
而邵森林的黑土賬號則是森林,他被曹志文在微信上彈了一下就登錄上了黑土賬號,然后認真的看著曹志文發(fā)給他的對話。
而邵森林看著葉子大神的對話,也是有些醍醐灌頂?shù)母杏X,原來是這樣子啊……
這個技巧絕對是不虧的,因為這是經(jīng)驗總結(jié)出來的,他們沒有足夠的經(jīng)驗,是不可能獲得出這個技巧的。
這個技巧看起來簡單,但是誰能夠發(fā)現(xiàn)得了呢?
森林:大神不愧是大神,能不能讓大神也加我?
天涯海角:你想的美吧,下次,下次一定。
森林:媽的,你這個下次何其多?跟明日復(fù)明日一樣。