只有程式設計師瞭解的9個真相

譯者: 小峰發表於2015-03-20

對於相關的計算機和程式碼知識,通常說來程式設計師比一般人要了解得多,下面我將為大家揭曉一些業內人士不會訴諸於口的真相。

真相#1

“你所不知道的是,很多我們每天都使用的關鍵軟體(如Mac OS X和Facebook),作為一個整體雖然可以正常工作,但是實際上它們的背後充斥了各種的弊端和缺陷。這就像是你興致勃勃地拆開了一架全新的747飛機,但是卻發現燃料線是由衣架固定的,起落架是用膠帶貼上的。” ——Ben Cherry

這其實是非常有意思的一件事:網頁和程式外觀精美、執行流暢,但是卻很有可能只是完美在前端上(使用者所能看到的那一部分)。它們的背後其實千瘡百孔、滿是錯誤,不過因為某些神奇的原因,居然也可以正常工作。

真相#2

“編寫應用程式時,大概25%的時間是花在思考終端使用者將會做哪些蠢事上的。”——Brian Humes

不過,25%這個數值會根據開發人員和程式設計師的作為而上下浮動。每次構建產品時,我們都需要坐下來思考終端使用者將會如何把這個程式搞的一團亂。他們會點選什麼,他們會寫什麼,問題的措辭,使用的語言,以及我們的寫法所造成的不同理解。如果不注意這一點,那麼就會出現很多問題,這是因為雖然我們知道程式是如何工作的,但是終端使用者是不懂的。

真相#3

“程式設計師不是修電腦的。” ——Ritesh Kumar Gupta

程式設計師是搞演算法和設計原則的,不是一個修電腦的。我們知道電腦的內部工作原理,程式碼是如何協作的,但是,我們並不知道如何修理硬體,不知道為什麼每次開啟瀏覽器就崩潰,也不知道為什麼電腦發熱過度。請不要用一種“這種事對你們而言就是小菜一碟”的眼光看待我們。

真相#4

“程式設計是一種思想,而不是敲程式碼。” ——Casey Patton

程式設計並不是說,只要你安安靜靜地坐下來,寫個上千行程式碼,釋出程式或應用程式的意思,程式設計其實是一種思想,一種解決問題的方法。而放鬆則是思考出方法的關鍵。

真相#5

從零開始計算,而不是從一開始。

我們是從0開始計數的,所以你的“1”是我的“0”,你的“10”是我的“9”。之所以這麼做,是因為這可以大規模地改善效率。

真相#6

“一旦進入狀態,程式設計就猶如神助——這種全神貫注的狀態能讓任何問題都變得小菜一碟。”——Morgan Johansson

知道為什麼程式設計師被稱為夜貓子嗎?知道為什麼我們常常熬夜嗎?因為這樣能讓我們進入一種專注的狀態,而不必擔心會被其他人打斷——因為他們都睡著了,這些煩人的傢伙終於閉上了他們唧唧歪歪的嘴。真是一個偉大的程式設計時間啊!

真相#7

告訴你個秘密,帶著問題睡覺,實際上可以解決這個問題。

很多時候,我遇到那種花了幾個小時都解決不了的問題,我就會去睡一覺。透過20分鐘,一小時,六小時,十二小時的睡眠,醒來之後,問題答案就自然而然地出來了。

真相#8

分配下來的任務卻不再需要,就像父母殺掉孩子。

我們寫的程式其實都類似於這樣的層次結構。Parent管理它下面的Child。

現實中,如果父母不想要孩子,會去做流產。而在程式中,如果不再需要需要某些任務,那麼會切斷其與伺服器的聯絡,殺掉這個孩子。

最後,真相#9

當我們吹噓我們有多麼瞭解電腦時,你通常會不屑一顧,同樣的,你的自吹自擂也讓我們覺得好煩。

老實說,這真的很煩,我們真的一點也不關心你對於計算機的瞭解。如果你說“我對於計算機不是很懂”,或者“我對計算機程式設計不是很感興趣”那還是可以理解的,但是自吹自擂,班門弄斧就會讓我們厭煩了。請規避這種行為吧。

相關文章