成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

平凡的故事:年輕開發(fā)者的那些傷心事

開發(fā)
這是關(guān)于一位有激情的年輕開發(fā)者的、幾乎真實(shí)的故事。在2004年年末,他開始在一家小公司上班,這家公司有他想要的一切:豐厚的薪水、使用他鐘情的編程語(yǔ)言,處理復(fù)雜性和搭建架構(gòu)。

這并不是該年輕開發(fā)者的***工作經(jīng)歷。但是他的***個(gè)項(xiàng)目已經(jīng)被證明是有問(wèn)題的。當(dāng)時(shí),他認(rèn)為功能從來(lái)不會(huì)改變。但是他錯(cuò)了,每次修改功能都需要一次徹底的重構(gòu),引發(fā)了bug以及大量時(shí)間的浪費(fèi)。他甚至嘗試過(guò)編寫測(cè)試之類的、有效的方式。不過(guò)他的測(cè)試需要維護(hù)、編寫所需時(shí)間、甚至更多執(zhí)行的時(shí)間。

[[128374]]

對(duì)于每個(gè)年輕的開發(fā)者,他在成長(zhǎng)過(guò)程中總是聽到有經(jīng)驗(yàn)的開發(fā)者說(shuō)到的“當(dāng)心!過(guò)早優(yōu)化是萬(wàn)惡之源!”、“編寫測(cè)試!測(cè)試!測(cè)試!”。或許他只是在重構(gòu)一個(gè)微小的實(shí)用程序方法,而這時(shí)有經(jīng)驗(yàn)的開發(fā)者將走過(guò)來(lái)、以嚴(yán)厲的表情警告說(shuō)“你沒(méi)有做過(guò)早優(yōu)化,對(duì)吧?”、或“你在寫測(cè)試,是嗎?”。

但是所有這些警告都被忽視了。因?yàn)槟贻p開發(fā)者不理解過(guò)早優(yōu)化為什么是萬(wàn)惡之源、也不理解測(cè)試應(yīng)該是正確的。根據(jù)他自己的經(jīng)驗(yàn),他知道下面的需求從長(zhǎng)期看是不合理的(因?yàn)樗鼈兛赡苡行薷?,編寫測(cè)試就是在浪費(fèi)時(shí)間。

“我究竟為什么每次都必須重寫我的代碼?我究竟為什么必須在當(dāng)下編寫代碼、隨后再重構(gòu),我什么時(shí)候能夠編寫世界上***的代碼?還有,我究竟為什么不得不用我所有的時(shí)間來(lái)編寫沒(méi)用的測(cè)試?”這就是年輕開發(fā)者的疑惑。

一天,年輕開發(fā)者開始著手一個(gè)新項(xiàng)目。他決定無(wú)視有經(jīng)驗(yàn)開發(fā)者的警告;為了應(yīng)對(duì)每次需求變化,他期望每塊代碼是快速的、可配置的和健壯的。需求清晰了,不過(guò)他要做得更好。比如,當(dāng)有個(gè)功能,生成以大寫‘S’結(jié)尾的產(chǎn)品代碼時(shí),他創(chuàng)建一個(gè)配置對(duì)象,這樣結(jié)尾的字母就可以通過(guò)配置來(lái)修改,通過(guò)配置還可以決定這個(gè)字母應(yīng)該是大寫還是小寫。當(dāng)需求說(shuō)明需要一些校驗(yàn)時(shí),他就創(chuàng)建一個(gè)龐大的校驗(yàn)器,不僅包含需求要求的,還有很多沒(méi)要求的。

在編寫了項(xiàng)目的核心之后,一種***的感覺(jué)充滿了年輕開發(fā)者的全身。“那個(gè)有經(jīng)驗(yàn)的開發(fā)者是錯(cuò)誤的!”年輕開發(fā)者看著自己的杰作得意地說(shuō)。他夜以繼日地工作,認(rèn)為數(shù)周后就可以發(fā)布產(chǎn)品了。

光陰荏苒……

一天,客戶告知他們一個(gè)bug。有經(jīng)驗(yàn)的開發(fā)者看到這個(gè)bug,對(duì)顯示器上出現(xiàn)的情況保留著厭惡:年輕開發(fā)者看到了大教堂,而有經(jīng)驗(yàn)開發(fā)者看到的是貧民窟;年輕開發(fā)者看到了模式,而有經(jīng)驗(yàn)開發(fā)者看到的是一個(gè)充斥著class的復(fù)雜網(wǎng)絡(luò);年輕開發(fā)者看到了比光速還快的代碼,而有經(jīng)驗(yàn)開發(fā)者看到的是不必要的復(fù)雜算法。他不想碰這些代碼,因此他讓這個(gè)年輕的開發(fā)者去修復(fù)自己的bug。

其他人不認(rèn)為年輕開發(fā)者的代碼是優(yōu)美的,只有這個(gè)想法讓他感到失望。他充滿憤怒地打開了項(xiàng)目……才發(fā)現(xiàn)代碼對(duì)于他來(lái)說(shuō),也是費(fèi)解的!代碼背后沒(méi)有清晰的意義。“這就是我不打算再使用這門語(yǔ)言的原因,語(yǔ)法太糟糕了”,往往是年輕開發(fā)者的***反應(yīng)。但是他在內(nèi)心深處知道,這不是真正的問(wèn)題。真正的問(wèn)題是他。

一天結(jié)束的時(shí)候,bug修復(fù)好了,卻產(chǎn)生了另一個(gè)bug,這是那一天之后發(fā)現(xiàn)的。每次修復(fù)都在影響著項(xiàng)目?jī)?nèi)部的瘦弱的平衡,就像亮白色衣服上的一小塊黑色補(bǔ)丁。

此時(shí)這個(gè)年輕的開發(fā)者絕望了,他的大教堂開始搖晃,他感到離崩塌不遠(yuǎn)了。年輕開發(fā)者自問(wèn),“或許我不是這份工作的合適人選。為什么我不能編寫恰當(dāng)?shù)拇a呢?”帶著沮喪和憤怒的交織心情,年輕的開發(fā)者打開了有經(jīng)驗(yàn)開發(fā)者維護(hù)的項(xiàng)目。

他看到的代碼讓他感到吃驚:代碼有注釋和測(cè)試,易于閱讀。和他最初開始寫的代碼沒(méi)有太多區(qū)別,有一些清晰的例外:沒(méi)有可擴(kuò)展的配置,每行代碼都被測(cè)試了,每個(gè)方法都取著有意義的名字、且簡(jiǎn)短(最多10行代碼),只做必要的,每個(gè)文件只包含了能夠嚴(yán)格做本質(zhì)工作的方法。

在這個(gè)憂郁的時(shí)刻,有經(jīng)驗(yàn)開發(fā)者來(lái)到了年輕開發(fā)者身邊,和他挨得很近,開始重構(gòu)引起所有bug的代碼。

他們一起工作了數(shù)天,有時(shí)候,有經(jīng)驗(yàn)開發(fā)者寫代碼,而年輕開發(fā)者觀看有經(jīng)驗(yàn)開發(fā)者如何解決問(wèn)題;另些場(chǎng)合,年輕開發(fā)者寫代碼,而有經(jīng)驗(yàn)開發(fā)者在旁邊監(jiān)督。

數(shù)天后,一次新的部署標(biāo)志著bug已被修復(fù)。引起bug的小部分代碼,現(xiàn)在可以被測(cè)試了、易于閱讀了,也很穩(wěn)定。有經(jīng)驗(yàn)開發(fā)者看著年輕開發(fā)者說(shuō):“你現(xiàn)在明白了嗎?”

年輕開發(fā)者點(diǎn)了點(diǎn)頭,他現(xiàn)在明白了。***的關(guān)鍵不是預(yù)測(cè)將來(lái),而是編寫容易修改、測(cè)試(這樣修改就不會(huì)引發(fā)其它bug了)以及只需滿足當(dāng)前需求的代碼。當(dāng)他意識(shí)到這一點(diǎn)時(shí),他注意到他正在變化,正在變成差不多有經(jīng)驗(yàn)的開發(fā)者。

年輕開發(fā)者問(wèn),“我們現(xiàn)在能夠重構(gòu)整個(gè)項(xiàng)目嗎?”

有經(jīng)驗(yàn)開發(fā)者干脆地答道,“當(dāng)然不可以!沒(méi)有預(yù)算”

年輕開發(fā)者問(wèn),“但是,如果其它bug出現(xiàn)了,該怎么辦?”

有經(jīng)驗(yàn)開發(fā)者答道,“我們將找個(gè)自由職業(yè)者(freelancer)來(lái)修復(fù)”

然后,這個(gè)差不多有經(jīng)驗(yàn)的開發(fā)者開始編寫優(yōu)秀的代碼,準(zhǔn)備學(xué)習(xí)另外的經(jīng)驗(yàn)。不過(guò)這是另外一個(gè)故事了。

年輕開發(fā)者的啟示:回頭看看你過(guò)去寫的代碼,如果你的代碼看起來(lái)還不夠優(yōu)美,不要感到失望。

有經(jīng)驗(yàn)開發(fā)者的啟示:當(dāng)周圍有年輕開發(fā)者時(shí),你將不得不給他擦屁股。你***的機(jī)會(huì)就是他將學(xué)習(xí)如何編寫得體的代碼,越快越好。

自由職業(yè)者的啟示:你或許想提高你的報(bào)價(jià) 

英文原文:The Sorrows of Young Developer

 

譯文: 《年輕開發(fā)者的那些傷心事 》 臘八粥

 

責(zé)任編輯:王雪燕 來(lái)源: 人民網(wǎng)
相關(guān)推薦

2012-07-31 09:35:36

2010-08-12 14:13:01

Flex開發(fā)者

2021-06-25 10:42:38

網(wǎng)絡(luò)安全安全從業(yè)者開發(fā)者

2013-08-14 16:52:47

Android開發(fā)者

2015-11-06 10:09:51

開發(fā)者上演游戲

2018-03-01 15:03:11

2011-05-11 13:42:18

谷歌開發(fā)者大會(huì)谷歌

2010-12-06 08:58:48

Web開發(fā)

2012-06-13 01:23:30

開發(fā)者程序員

2012-10-16 09:33:18

iOS最年輕開發(fā)者

2014-08-08 13:27:34

Android LAndroid開發(fā)

2023-09-13 18:34:51

谷歌開發(fā)者

2012-05-10 09:08:07

iOS獨(dú)立開發(fā)者

2019-05-31 08:50:13

蘋果數(shù)據(jù)開發(fā)者

2012-01-04 09:18:32

iPhone開發(fā)者聯(lián)盟iDP中國(guó)開發(fā)者

2010-04-01 09:10:55

iPhone應(yīng)用

2014-07-16 08:57:41

iOS 8 API

2019-05-27 14:09:44

開發(fā)者技能工具

2012-07-31 09:52:54

HTML5

2015-06-29 16:59:57

點(diǎn)贊
收藏

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

主站蜘蛛池模板: 免费一级黄色录像 | 成人免费淫片aa视频免费 | 欧美激情一区二区三区 | 国产免费一区二区三区网站免费 | 欧美视频免费在线 | 天天久久 | 色久影院 | 涩涩视频网站在线观看 | 欧美精品一区二区三区在线 | 久久亚洲欧美日韩精品专区 | 视频在线一区二区 | 91色在线 | 久久久国产一区二区三区四区小说 | 黄色av网站在线观看 | 欧美小视频在线观看 | 九九在线视频 | 夜夜爽99久久国产综合精品女不卡 | 欧美日高清| 午夜视频在线播放 | 二区在线视频 | 欧美性大战久久久久久久蜜臀 | 日韩国产三区 | 97成人精品 | 丝袜一区二区三区 | 久久精品91 | 99欧美精品 | 青青伊人久久 | 国产免费让你躁在线视频 | 精品一区二区三区四区五区 | 久久久成人精品 | 国产99精品| 成人一区二区三区在线观看 | 欧美综合国产精品久久丁香 | 日韩成人免费中文字幕 | 国产三区四区 | 天天射色综合 | 伊人网站在线观看 | 中文字幕一区二区三区四区 | 日韩福利| 亚洲一区二区视频 | 一区二区三区视频在线观看 |