程序猿到美猴王的進(jìn)化史
原創(chuàng)“苦練七十二變,才能笑對(duì)八十一難”。
最近兩天,這個(gè)象征著“孫悟空精神”的句子引發(fā)千萬人的共鳴,也給程序猿們盛了好大一碗雞湯。不!絕不是雞湯。小編堅(jiān)定地安利每一只程序猿都可以進(jìn)化成美猴王!
程序員是干嘛的?有人認(rèn)為他們是寫代碼的;有人認(rèn)為他們是調(diào)bug的;更有甚者認(rèn)為他們是修電腦的。
程序員到底是干嘛的?相信很多人讀過這句話:
“程序員是將人類想法翻譯成計(jì)算機(jī)語言的譯者。”
換句話說說,程序員是連接人類世界和計(jì)算機(jī)世界之間的紐帶。
到位。
但是,維護(hù)這個(gè)紐帶也太不容易了好嘛?
預(yù)備,唱!
“剛翻過了幾座山,又越過了幾條河,
崎嶇坎坷怎么特么就這么多!”
要不說得苦練七十二變呢。等到五指山也壓了,煉丹爐也進(jìn)了,九九八十一難也闖了,你就再也不是一只簡(jiǎn)簡(jiǎn)單單的程序猿,你就是齊天大~~~圣!
望著猿猿們的一臉懵逼和無辜,小編樂善好施的毛病又犯了。阿彌陀佛,那么程序猿與美猴王之間倒底差了多少標(biāo)志性差別呢?
火眼金睛
孫悟空在太上老君的八卦爐中鍛燒七七四十九天后,不但沒燒死,還煉就了火眼金睛,能夠一眼識(shí)別出妖怪。
Bug就像是通往西天路上的妖怪,給程序猿們順利取得真經(jīng)的過程制造各種障礙。擁有快速識(shí)別定位程序中的bug的本領(lǐng),就好比擁有一雙火眼金睛。
但火眼金睛也有它的缺點(diǎn),就在于它不能看出妖怪的原形,所以孫悟空每次都不得不四處奔走詢問妖怪的出處。如果你現(xiàn)在滿屏代碼中一眼識(shí)別中哪一行有Bug,幾乎是不可能的。你能做的,是判斷出籠罩在程序中的“妖氣”,始終帶著一雙懷疑的眼睛,學(xué)會(huì)利用差異對(duì)照法,在不斷的驗(yàn)證中發(fā)現(xiàn)和定位bug所在的模塊。
孫悟空的火眼金睛也不是什么天然的超能力,程序猿也必須在善于懷疑、善用工具、學(xué)習(xí)他人經(jīng)驗(yàn)的過程中,煉就對(duì)產(chǎn)品擴(kuò)展預(yù)期和對(duì)bug預(yù)見性的能力。但悲催的是你會(huì)發(fā)現(xiàn),視野有多大,漏洞就有都大。
金箍棒
如意金箍棒在孫悟空的手中,能隨心所欲地變化大小,而且似乎它只聽孫悟空的。沒有任何其他神仙或者妖怪能夠讓金箍棒隨意變化。對(duì)于孫悟空,與其說金箍棒是兵器,不如說是通過苦心尋找又不斷練習(xí)的專屬工具。
在這個(gè)軟件增長(zhǎng)和發(fā)明的黃金時(shí)代,工具變得唾手可得。程序猿的兵器譜中包含了許多可靠的技術(shù):編程語言、開發(fā)工具、框架和設(shè)計(jì)模式,真正的程序猿要懂VC,懂Java,懂Python,懂Delphi……這些都是我們技能的基礎(chǔ)。然而這些技術(shù)有可能幫助我們所向披靡,也有可能暗藏危險(xiǎn)。程序猿只有通過不斷的學(xué)習(xí),既不要固步自封,也不要貪多不熟。對(duì)于進(jìn)步最有效的辦法就是懷疑一切。當(dāng)你嘗試了新的途徑后,你才能決定接下來用什么樣的做事方法,好像一個(gè)漏斗一樣,過濾掉自己不需要的,留下適合自己的思維方法。
這可能會(huì)耗費(fèi)你很多時(shí)間,但隨著時(shí)間的積累,你會(huì)發(fā)現(xiàn)自己的工具箱中又多了一套新的工具,并做好抉擇,看看有哪些是值得保留的。
金箍棒的任意伸縮,還暗涵技能的擴(kuò)展能力。程序猿的職業(yè)生涯是一個(gè)要求不斷學(xué)習(xí)的過程,有太多的途徑幫助我們拓寬自己的視野和能力,去Github和大神交流;自己參與到開源代碼的貢獻(xiàn)中,學(xué)習(xí)他人的經(jīng)驗(yàn)等等,你漸漸會(huì)發(fā)現(xiàn),你對(duì)于選擇兵器的直覺,一定比周圍的猴子們敏銳;
金箍棒再厲害,不能打怪也白搭。程序猿的兵器也需要有用武這地。面對(duì)一涌而入的不同業(yè)務(wù)需求時(shí),猴子們還需要有對(duì)業(yè)務(wù)的彈性處理能力。根據(jù)不同需求的優(yōu)先級(jí)別,在各時(shí)間節(jié)點(diǎn)最大效率地利用工具,完成對(duì)不同功能的開發(fā)實(shí)現(xiàn)。
緊箍?jī)?/strong>
觀音菩薩給孫悟空戴一個(gè)“緊箍咒”,就是要以此來引導(dǎo)他的思想,用理性來操縱和導(dǎo)引這只野猴身上的非理性因素。
對(duì)于狂放不羈的程序猴們來說,良好的編碼習(xí)慣和編碼規(guī)范也許是勒得最緊的緊箍咒。
“命名規(guī)范修正下吧,變量名看著挺亂的”
“規(guī)范你妹啊,下周就Deadline了,哪兒有時(shí)間啊,差不多行了,把東西實(shí)現(xiàn)出來比什么都重要。”
也許在兩年后,你會(huì)發(fā)現(xiàn),擦……核心模塊里還有這么惡心的代碼,不是早就該重寫了嗎……然而,注釋和文檔都不清楚!尼瑪這誰能寫啊……
猿猿們要噴了:我做了充分的分析需求;我選用正確的語言和架構(gòu);我配置好用的協(xié)用與任務(wù)調(diào)度管理工具;我代碼規(guī)范、文檔齊備;我的代碼就是可信的,工具鏈?zhǔn)强煽康?hellip;…我的代碼就一定安全嗎?需求變化我控制的了嗎?莫名其妙的攻擊我攔的住嗎?不是照樣要改嗎?
但是,如果你沒有在各種層面質(zhì)疑,你連相信自己是安全的理由都沒有,不玩兒你玩兒誰?
虎皮裙
喜歡西游記的人都說,如果沒有虎皮裙,孫悟空就不是孫悟空了。
作為標(biāo)志性特征,虎皮裙其實(shí)也存在爭(zhēng)議。有一種說法,真正的佛教高僧大德不會(huì)穿虎皮,唐僧默認(rèn)悟空這樣穿著,實(shí)則是對(duì)猴子本性的保護(hù)。姑且不論嚴(yán)謹(jǐn)與否,還是有幾分道理的。
在圈外人看來,對(duì)程序猿這畫像的呢?聽說他們收入不菲,但總看起來很窮。略長(zhǎng)的凌亂寸頭下面是一張長(zhǎng)期被電腦輻射的油面,架在鼻梁上的眼睛下藏著一雙盤著黑眼圈的眼,萬年不變的格子衫和滑板鞋,雙肩背包承載著他們整個(gè)世界。
稍微了解他們的人認(rèn)為,他們百分之十的時(shí)間在想著顛覆宇宙,剩下百分之九十的時(shí)間在調(diào)bug.
是時(shí)候縫條虎皮裙,上演一波猩球崛起了!
硬件走起!Mac、機(jī)械鍵盤、外表炫酷的耳機(jī)!
軟件走起!牛逼的技術(shù)是程序猿最好的名片。通過構(gòu)建自己自己的平臺(tái),寫寫博客,常逛逛Github,多參加像51CTO WOT這樣的業(yè)界會(huì)議,來提升程序員的影響力。
其實(shí),程序員不過是一群簡(jiǎn)單可愛的小朋友,不然天天被這么多人黑,得引發(fā)多少血案,小編也早沒命接著寫了。
總結(jié)看來,美猴王也沒什么了不起。然而齊天大圣真正感染我們的不僅僅是武藝精湛、除妖降魔、精力充沛,而是在通往取得真經(jīng)的道路上,他逐漸收起自己霸道、喜歡控制一切的心性,凡事以保護(hù)師傅和保證取經(jīng)小分隊(duì)的集體利益為原則,指導(dǎo)他的一切行為。
也許在我們的團(tuán)隊(duì)中,你討厭磨磨唧唧的Leader,但他卻一直在引導(dǎo)和督促你;你討厭好吃懶做還貪圖美色的八戒,但他卻使工作氛圍不再永遠(yuǎn)枯燥單調(diào);也許你討厭凡事都“大師兄,師父說的對(duì)呀!大師兄,二師兄說的對(duì)呀!大師兄,師父和二師兄說的對(duì)呀!”的沒主見的沙僧,但你失戀了落單了挨罵了,卻最先拉他出來喝酒。
最后,祝福每位代碼山上的孫悟空,猴年大吉猴賽雷!