只有程序員才了解的9個真相!
真相1
“你所不知道的是,很多我們每天都使用的關(guān)鍵軟件(如Mac OS X和Facebook),作為一個整體雖然可以正常工作,但是實際上它們的背后充斥了各種的弊端和缺陷。這就像是你興致勃勃地拆開了一架全新的747飛機,但是卻發(fā)現(xiàn)燃料線是由衣架固定的,起落架是用膠帶粘貼的。” ——Ben Cherry
這其實是非常有意思的一件事:網(wǎng)頁和程序外觀精美、運行流暢,但是卻很有可能只是***在前端上(用戶所能看到的那一部分)。它們的背后其實千瘡百孔、滿是錯誤,不過因為某些神奇的原因,居然也可以正常工作。
真相2
“編寫應(yīng)用程序時,大概25%的時間是花在思考最終用戶將會做哪些蠢事上的。”——Brian Humes
不過,25%這個數(shù)值會根據(jù)開發(fā)人員和程序員的作為而上下浮動。每次構(gòu)建產(chǎn)品時,我們都需要坐下來思考最終用戶將會如何把這個程序搞的一團亂。他們會點擊什么,他們會寫什么,問題的措辭,使用的語言,以及我們的寫法所造成的不同理解。如果不注意這一點,那么就會出現(xiàn)很多問題,這是因為雖然我們知道程序是如何工作的,但是最終用戶是不懂的。
真相3
“程序員不是修電腦的。” ——Ritesh Kumar Gupta
程序員是搞算法和設(shè)計原則的,不是一個修電腦的。我們知道電腦的內(nèi)部工作原理,代碼是如何協(xié)作的,但是,我們并不知道如何修理硬件,不知道為什么每次打開瀏覽器就崩潰,也不知道為什么電腦發(fā)熱過度。請不要用一種“這種事對你們而言就是小菜一碟”的眼光看待我們。
真相4
“編程是一種思想,而不是敲代碼。” ——Casey Patton
編程并不是說,只要你安安靜靜地坐下來,寫個上千行代碼,發(fā)布程序或應(yīng)用程序的意思,編程其實是一種思想,一種解決問題的方法。而放松則是思考出方法的關(guān)鍵。
真相5
從零開始計算,而不是從一開始。
我們是從0開始計數(shù)的,所以你的“1”是我的“0”,你的“10”是我的“9”。之所以這么做,是因為這可以大規(guī)模地改善效率。
真相6
“一旦進入狀態(tài),編程就猶如神助——這種全神貫注的狀態(tài)能讓任何問題都變得小菜一碟。”——Morgan Johansson
知道為什么程序員被稱為夜貓子嗎?知道為什么我們常常熬夜嗎?因為這樣能讓我們進入一種專注的狀態(tài),而不必?fù)?dān)心會被其他人打斷——因為他們都睡著了,這些煩人的家伙終于閉上了他們唧唧歪歪的嘴。真是一個偉大的編程時間??!
真相7
告訴你個秘密,帶著問題睡覺,實際上可以解決這個問題。
很多時候,我遇到那種花了幾個小時都解決不了的問題,我就會去睡一覺。通過20分鐘,一小時,六小時,十二小時的睡眠,醒來之后,問題答案就自然而然地出來了。
真相8
分配下來的任務(wù)卻不再需要,就像父母殺掉孩子。
我們寫的程序其實都類似于這樣的層次結(jié)構(gòu)。Parent管理它下面的Child。
現(xiàn)實中,如果父母不想要孩子,會去做流產(chǎn)。而在程序中,如果不再需要需要某些任務(wù),那么會切斷其與服務(wù)器的聯(lián)系,殺掉這個孩子。
真相9
當(dāng)我們吹噓我們有多么了解電腦時,你通常會不屑一顧,同樣的,你的自吹自擂也讓我們覺得好煩。
老實說,這真的很煩,我們真的一點也不關(guān)心你對于計算機的了解。如果你說“我對于計算機不是很懂”,或者“我對計算機編程不是很感興趣”那還是可以理解的,但是自吹自擂,班門弄斧就會讓我們厭煩了。請規(guī)避這種行為吧。