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

為開發(fā)新功能的靈感:蹲在馬桶上編程

開發(fā) 項(xiàng)目管理
5點(diǎn)鐘了——一個(gè)小時(shí)后就是下班時(shí)間。我?guī)缀醴艞壗裉焱瓿蛇@個(gè)功能的計(jì)劃?!安豢赡芰?,”我想?!肮獍堰@些亂糟糟的代碼理清楚就需要1個(gè)小時(shí)?!蔽揖趩实恼酒饋?lái),耷拉著頭,慢慢往衛(wèi)生間走去。我坐在馬桶上,深呼吸——就在這時(shí),靈感來(lái)了!

[[111396]]

5點(diǎn)鐘了。這段代碼我已經(jīng)研究了好幾個(gè)小時(shí),半天寫出一行。這真是一種折磨。有些天里,代碼會(huì)不由自主的從腦子里溜到我的指尖??山裉觳皇?。

我的任務(wù)是往一個(gè)類里添加一個(gè)新功能。“Easy”,我想。“我寫的這個(gè)類,現(xiàn)在去擴(kuò)展它,怎么也不應(yīng)該太難。”于是,在飽飽的午餐后,我就開始坐下來(lái)編程。

開始一切都很順利——我有個(gè)不錯(cuò)的主意,知道如何將這個(gè)新功能放進(jìn)這個(gè)類里。然而,越往細(xì)里分析,我開始發(fā)現(xiàn)我的妙主意并不是那么好。這個(gè)功能需要的數(shù)據(jù)在這里無(wú)法獲取到。我嘗試了各種激進(jìn)的方法,使得這個(gè)類混亂不堪,bug橫生。修改后的代碼的單元測(cè)試幾乎沒有成功通過(guò)過(guò)。

接下來(lái)的幾個(gè)小時(shí)里我感覺就像是在兔子洞里越掉越深,***完全認(rèn)不出自己寫的代碼。我反復(fù)的對(duì)比修改后的代碼和修改前的原始代碼,試圖能清楚什么地方出了問(wèn)題。我的腦子已經(jīng)無(wú)法理解這段代碼為什么能運(yùn)行起來(lái)。已經(jīng)不知道我要把它改成什么樣。情況很快變成了我和計(jì)算機(jī)之間的一場(chǎng)拳擊。“編譯呀,該死的,趕快編譯!”

于是到了現(xiàn)在,5點(diǎn)鐘了——一個(gè)小時(shí)后就是下班時(shí)間。我?guī)缀醴艞壗裉焱瓿蛇@個(gè)功能的計(jì)劃。“不可能了,”我想。“光把這些亂糟糟的代碼理清楚就需要1個(gè)小時(shí)。”

我沮喪的站起來(lái),耷拉著頭,慢慢往衛(wèi)生間走去。我坐在馬桶上,深呼吸——就在這時(shí),靈感來(lái)了!

靈感女神的寶座

忽然間,我想清楚了一切。代碼一下子在涌進(jìn)了我的腦海。我想清楚了這個(gè)類,它的所有功能,它的使用場(chǎng)景。我想清楚了如何把我的功能代碼加進(jìn)去。我想清楚了一切!

解決完生理問(wèn)題后(洗了手),我跑回辦公桌前,開始一陣狂敲代碼。我敲鍵盤的速度趕不上那些不斷涌進(jìn)我腦海的代碼的速度。在我的手指的重敲下,鍵盤看起來(lái)要散架。電腦和我不再是敵人,我們是最親密的戰(zhàn)友,是為了一個(gè)共同的目標(biāo)走到一起來(lái)。

30分鐘后,代碼編譯成功。所有的單元測(cè)試都順利通過(guò)。我完整的按著新功能的需求跑了一遍,所有功能點(diǎn)都按預(yù)期運(yùn)行。“我搞定了這無(wú)法完成的任務(wù),我成功了!”

當(dāng)編碼的興奮勁慢慢消退后,我意識(shí)到了一個(gè)無(wú)法回避的事實(shí):我***效的編程不是坐在計(jì)算機(jī)前,而是蹲在馬桶上。

退一步海闊天空(From Your Code)

現(xiàn)在,我并不是說(shuō)馬桶具有神奇的代碼設(shè)計(jì)的魔法(雖然我承認(rèn)它是一個(gè)偉大的發(fā)明)。然而,我要說(shuō)的是,不論你是要完成多么重大或多么微不足道的編程任務(wù),從電腦前走開,從一個(gè)更高的層面思考問(wèn)題,你的效率至少會(huì)提高10倍。不論是去衛(wèi)生間,還是去公園走一走,或在辦公室休息區(qū)休息一會(huì)兒,遠(yuǎn)離你的電腦屏幕,這能清醒你的大腦,讓你推開樹木看到森林。

很多程序員舍不得離開他們的電腦桌。他們認(rèn)為時(shí)間沒有花在IDE上都是浪費(fèi),擔(dān)心被別人說(shuō)不努力工作。“為什么你不在工位上編碼!?等著扣薪水吧,”項(xiàng)目經(jīng)理會(huì)這樣說(shuō)。

我認(rèn)為,這種邏輯是愚蠢的,是反效率的。程序員不是雇來(lái)坐在桌邊的,或雇來(lái)盯著屏幕的,甚至雇來(lái)寫代碼的。這些只是程序員達(dá)到他們最終目的的過(guò)程,而真正的目標(biāo)是:為最終用戶開發(fā)功能。如果我們要是能在遠(yuǎn)離電腦桌的情況下可以更快速更高效的開發(fā)出這些功能,那何樂而不為呢?

總之,在編程時(shí)別忘了充分利用馬桶。

英文原文:Programming on the Toilet

譯文鏈接:http://www.vaikan.com/programming-on-toilet/

責(zé)任編輯:林師授 來(lái)源: 外刊IT評(píng)論 編譯
相關(guān)推薦

2021-06-15 14:47:06

GoogleChrome標(biāo)簽組

2021-10-27 10:00:11

谷歌Android開發(fā)者

2014-03-03 16:44:57

算法

2009-02-20 08:51:22

.NET框架CLR組件

2014-12-15 15:33:25

Google測(cè)試馬桶

2011-09-08 10:04:07

Windows MobWidget

2009-02-17 13:01:07

XPVistaWindows7新功能

2012-02-28 09:32:40

蘋果OS X 10.8

2014-08-07 10:03:20

HTTP2

2011-05-30 15:28:00

Firefox 6

2020-10-24 17:52:10

工業(yè)物聯(lián)網(wǎng)IIOT物聯(lián)網(wǎng)

2009-12-15 11:16:39

VS2010開發(fā)程序

2022-09-30 14:47:14

iOS蘋果iOS 16

2020-11-09 07:15:51

Fedora 33WorkstationLinux

2011-02-28 17:41:20

SQL Server

2020-08-16 09:25:21

Windows 10Windows操作系統(tǒng)

2009-06-19 12:53:56

Spring 2.0

2021-06-10 14:07:22

MacOS蘋果Intel Mac

2015-05-12 11:49:45

OpenStack K開源特性分析

2011-03-09 10:45:09

DiscuzX2公測(cè)新功能
點(diǎn)贊
收藏

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