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

Russ Olsen:我得到的最佳編程建議

開(kāi)發(fā) 前端
收到的最佳編程建議來(lái)自于我的職業(yè)生涯早期,那時(shí)我正在一個(gè)令我愛(ài)恨交加的系統(tǒng)上工作。那個(gè)系統(tǒng)最酷部分是我們正在做計(jì)算機(jī)輔助設(shè)計(jì)——想象一下Adobe Illustrator,不過(guò)它是為工程師設(shè)計(jì)的。

Russ Olsen作為《Eloquent Ruby》一書(shū)的作者,同時(shí)也是一名Clojure開(kāi)發(fā)者。他把一個(gè)與古老的CAD[1]程序、辦公室政治、及其進(jìn)展有關(guān)的故事娓娓道來(lái),整個(gè)故事可以總結(jié)為一句簡(jiǎn)單的口頭禪:“千萬(wàn)別碰其他人的代碼!”

姓名:

Russ Olsen

編程能力及工作經(jīng)驗(yàn):

從穿孔卡片到ClojureScript無(wú)所不能。

最顯著的成就:

作者,《Design Patterns in Ruby | Ruby設(shè)計(jì)模式》,《Eloquent Ruby》

最常用的編程語(yǔ)言

Ruby為首,Clojure緊隨其后。

建議:

我收到的最佳編程建議來(lái)自于我的職業(yè)生涯早期,那時(shí)我正在一個(gè)令我愛(ài)恨交加的系統(tǒng)上工作。那個(gè)系統(tǒng)最酷部分是我們正在做計(jì)算機(jī)輔助設(shè)計(jì)——想象一下Adobe Illustrator,不過(guò)它是為工程師設(shè)計(jì)的。那時(shí)候,具有交互式圖形的CAD軟件堪稱高科技的頂峰。讓我痛恨的事情是,系統(tǒng)很慢、慢得令人抓狂:你會(huì)坐在那里,看著畫(huà)面中一條接一條地出現(xiàn)令人痛苦的線條。完成一個(gè)簡(jiǎn)單的繪圖會(huì)花費(fèi)幾十秒,然而當(dāng)顯示復(fù)雜畫(huà)面時(shí),你就有機(jī)會(huì)去喝杯咖啡慢慢等了。即便我們用早期的計(jì)算機(jī)標(biāo)準(zhǔn)來(lái)衡量,該系統(tǒng)的性能也是極其糟糕的,這一定傳達(dá)了某些信號(hào)。如果是黑客(hacker)會(huì)做些什么?而你又該做些什么?

[[93669]]

我所做的就是仔細(xì)查看代碼。盡管圖形部分不是我的職責(zé)范圍,但是我花了數(shù)個(gè)夜晚和周末樂(lè)此不疲地鉆研此問(wèn)題,設(shè)法弄清系統(tǒng)如此緩慢的原因。我并沒(méi)有花很長(zhǎng)時(shí)間就找到了這個(gè)問(wèn)題:一旦你啟動(dòng)該系統(tǒng),你實(shí)際上就開(kāi)啟了兩個(gè)進(jìn)程。一個(gè)進(jìn)程是正常的CAD系統(tǒng),而第二個(gè)進(jìn)程則用于完成與繪圖功能有關(guān)的全部工作。這兩個(gè)程序彼此之間通過(guò)某種類似套接字(socket-like)的網(wǎng)絡(luò)連接進(jìn)行通訊。顯然,開(kāi)發(fā)圖形子系統(tǒng)的程序員已經(jīng)愛(ài)上了客戶端/服務(wù)器(client/server)風(fēng)格的程序,并且已經(jīng)在我們的CAD系統(tǒng)中如法炮制了他自己的程序。問(wèn)題在于,由于我們是在這種早期硬件上運(yùn)行該系統(tǒng),因此將全部繪圖壓縮為一個(gè)有限的套接字要耗費(fèi)我們一個(gè)數(shù)量級(jí)的性能,然而我們對(duì)正在付出的成本卻給不出充分的理由。

我用接下來(lái)的整個(gè)周末將把系統(tǒng)整合到一起,這個(gè)版本中所有的內(nèi)容被打包到單個(gè)進(jìn)程中。系統(tǒng)的變化更是引人注目。現(xiàn)在,簡(jiǎn)單圖像差不多瞬間就能繪制出來(lái),然而更為復(fù)雜的圖像也只需抿口咖啡的工夫就能完成。星期一早上,我一遍又一遍地演示我的整合版本:首先是給我的老板演示,接著是我老板的老板,然后又是他的老板,直至全體高層領(lǐng)導(dǎo)。

然后就大難臨頭了。許多那些老板的老板的老板非常生我的氣,但是沒(méi)有人可以或打算闡明個(gè)中緣由。我的一些同事見(jiàn)到我就像見(jiàn)了瘟神一樣,避之唯恐不及。慢慢地我想通了,我已經(jīng)闖入一些錯(cuò)綜復(fù)雜的跨部門權(quán)力斗爭(zhēng)之中。因?yàn)槲矣梦易约旱谋糠椒ú](méi)有給圖形處理加速,而是為某個(gè)組織派系提供了制勝法寶,同時(shí)也讓其他派系感到很不爽。最終,他們勉強(qiáng)地將第二個(gè)進(jìn)程連同套接字(socket)一起移除了,從而我們獲得處理速度更快的圖形。不過(guò)興高采烈的人卻寥寥無(wú)幾。

就在那時(shí),所有員工的最大老板要我去他的辦公室走一趟,并送給了我一個(gè)關(guān)鍵的建議。隨著辦公室的門牢牢地關(guān)上,他轉(zhuǎn)過(guò)身來(lái),二目圓睜地看著我,然后說(shuō)道:

“今后,千萬(wàn)別碰其他人的代碼?。↖n the future, stay the Hell out of other people’s code.)”

[[93670]]

實(shí)際上,這是個(gè)很糟糕的建議,從那以后的數(shù)年中,我都以自己的方式對(duì)它置之不理。不過(guò)這些話還是有價(jià)值的,因?yàn)槲以啻位貞浧鹚鼈儭?/p>

每當(dāng)一些惱人的新員工帶著一個(gè)明顯行不通的餿主意來(lái)找我時(shí),“千萬(wàn)別碰其他人的代碼!”這句話就會(huì)在我的腦海里回蕩,而且聲音越來(lái)越大。

每當(dāng)其他工程師對(duì)我的代碼有見(jiàn)解時(shí),我記得當(dāng)時(shí)心里是這么想的,你應(yīng)該管好你自己的技術(shù)工作,但同時(shí)我又力求解除我的自尊心。

在后來(lái)的那些年里,隨著我自己也在建立并管理軟件開(kāi)發(fā)團(tuán)隊(duì),我已經(jīng)意識(shí)到,對(duì)于那種古來(lái)的項(xiàng)目而言,可能會(huì)有整整一打程序員都知道系統(tǒng)到底為何如此緩慢,而且也知道該如何修復(fù)它。盡管他們心知肚明,但是他們卻把解決方案爛在肚子里。因?yàn)樵谀欠N組織里,與讓系統(tǒng)變得更好相比,還有一些更重要的事情(派系之爭(zhēng)、辦公室政治等等)要關(guān)注。“今后,千萬(wàn)別碰其他人的代碼,”,這句話假設(shè)將會(huì)有未來(lái)。但是,擁有未來(lái)的最好方法是讓以下內(nèi)容成為團(tuán)隊(duì)的一部分:看重系統(tǒng)進(jìn)步高于辦公室政治(progress over politics)、奇思妙想高于固步自封(ideas over territory)、自告奮勇高于彬彬有禮(initiative over decorum)。

@高翌翔 譯注:[1] CAD,Computer-aided design,即計(jì)算機(jī)輔助設(shè)計(jì),指使用計(jì)算機(jī)系統(tǒng)來(lái)協(xié)助設(shè)計(jì)的創(chuàng)建、修改、分析、或優(yōu)化。詳細(xì)內(nèi)容參見(jiàn)維基百科。

原文鏈接:http://blog.jobbole.com/26279/#4_2,3_0_3730b5f816de44_298

【編輯推薦】

  1. 最有價(jià)值的編程忠告
  2. 這也是C#代碼嗎?代碼閱讀性進(jìn)階
  3. C#異步編程及其同步機(jī)制
  4. C#實(shí)現(xiàn)平衡多路查找樹(shù)(B樹(shù))
  5. Bill Wagner:我得到的最佳編程建議
責(zé)任編輯:張偉 來(lái)源: 伯樂(lè)在線
相關(guān)推薦

2015-06-02 11:04:02

編程最佳編程建議

2012-09-03 11:03:10

程序員編程

2012-08-20 09:53:48

編程編程建議程序員

2011-11-28 09:48:01

編程建議語(yǔ)言

2013-08-12 09:45:06

最佳編程方法編程方法編程

2015-09-08 09:25:07

編程經(jīng)驗(yàn)教訓(xùn)

2019-08-23 15:54:55

編程語(yǔ)言程序員電腦

2016-01-29 10:26:47

云端云遷移

2011-07-19 09:30:58

活動(dòng)目錄復(fù)制

2021-03-11 09:12:42

編程代碼開(kāi)發(fā)

2012-02-28 09:49:45

Linux編程建議

2010-10-14 10:43:43

編程

2014-02-24 13:30:23

編程能力程序員

2013-06-20 09:38:57

2011-11-30 12:38:47

企業(yè)防毒防毒方案拯救三

2021-11-23 17:57:50

編程語(yǔ)言Java python

2012-05-30 15:58:39

Java編程代碼

2023-10-23 11:06:23

微軟Arm咨詢服務(wù)

2012-09-03 14:34:39

Java編程代碼

2018-02-02 12:12:46

開(kāi)始習(xí)慣代碼經(jīng)驗(yàn)
點(diǎn)贊
收藏

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