年輕程式設計師的悲傷

2021-02-07 愛開發

 這是一個真實的故事,故事的主角是一位雖然年輕卻充滿了激情的程式設計師。那還是2004年底,他剛開始在一家小公司工作:一份不錯的薪水,使用的是他最愛的程式語言,能接觸到各種疑難雜症,還可以做建模架構的工作。

對於這位年輕的開發人員,這並不是第一次工作經驗。但是他的第一個項目卻被證明是有問題的。那時候,他認為功能是不需要變的。但是他錯了,於是乎,每個功能的改變都需要全部重構,從而導致bug橫行以及時間的巨大浪費。他甚至嘗試了一些良性的方法,如編寫測試。但是他的測試需要維護,需要編寫時間,以及更多的時間才能被執行。



和每一個年輕的開發人員一樣,他的成長道路上都是那些經驗豐富的開發人員的聲音,「過早的優化是罪惡的根源!」,以及「寫測試!測試!測試!」。也許他只是在重構一個小型的實用方法,但這個時候經驗豐富的開發人員過來了,鄭重其事嚴肅地警告他,「不是告訴過你不能過早的優化嗎?」,或者「你這是在寫測試麼?」。


但往往,年輕的開發人員直接就左耳朵進右耳朵就出了。因為他們不明白為什麼過早的優化應該是罪惡的根源,以及為什麼要寫好測試。從他以往有限的經驗來看,他認為接下來的技術指標並不能長效工作(因為它們往往會改變),以及寫測試純粹是浪費時間。


「到底是為什麼我每次都需要重寫代碼?究竟又是為什麼現在我寫的代碼之後還需要重構?還有就是到底是為什麼我得花這麼多的時間用來寫那些沒用的測試?「年輕的開發人員心裡在咆哮。


於是乎,終於有一天,年輕的開發人員又開工了一個新項目。這一次,他決定無視那些經驗豐富的開發人員的警告:他相信他寫的每一個代碼片段都會既快捷、可配置,又強大,並且可以承受每一次參數規格的改變。


在他絞盡腦汁地搞定項目的核心之後,年輕的開發人員忍不住得瑟起來:「哈哈,我就說那些『老傢伙』的話是錯的!」仿佛凱旋在望,年輕的開發人員眼中已經出現了勝利的光芒。


然而,發布一段時間之後……


突然有一天,客戶告知他們程序發現了bug。經驗豐富的開發人員看了這個bug,找到問題的所在,就要求年輕的開發人員去修復他自己造成的bug。


聽到自己的代碼被嫌棄了,年輕的開發人員第一感覺是生氣。但是當看了項目之後……卻發現,他居然無法理解自己寫的代碼了!他已經完全看不懂這些代碼的含義!天哪,嗚呼哀哉!


但是沒辦法,這是他的問題,他也只能硬著頭皮上,好了,終於修復好了這個bug——但是過幾天又出現了新的bug。bug——補丁,bug——補丁,焦頭爛額。


年輕的開發人員簡直要崩潰了,「也許我並不適合這種工作,不然我的代碼怎麼總也寫不好?」在各種質疑自己的聲音中,年輕的開發人員半信半疑地打開了經驗豐富的開發人員的項目。


他震驚了!代碼是如此簡單易懂——有注釋、有測試。這跟他寫的代碼完全有著本質的不同。特別明顯的區別就是:沒有額外的配置,對每一行代碼都進行了測試,每一個方法都有一個有意義的名字,並且方法非常短(最長的也只有幾十行代碼),代碼只做了客戶要求做的事情。


在那一刻,年輕的開發人員是非常沮喪的,但是經驗豐富的開發人員來了,他走到年輕的開發人員的身邊,一邊走他其實一邊已經在開始考慮如何重構這些錯誤的代碼。


在一起合作解決問題的時間裡,年輕的開發人員目睹了經驗豐富的開發人員一步步解決問題的過程;有時候經驗豐富的開發人員還會監督年輕的開發人員編寫代碼。


幾天以後,又一次發布標誌著bug已經被修復了。造成bug的那部分代碼片段現在已經進行了測試,不但易於閱讀,並且非常穩定。經驗豐富的開發人員看著年輕的開發人員,問:「你現在應該明白了吧?」


年輕的開發人員點點頭。現在他確實明白了。想要完美,其關鍵並不是能夠預測未來,而是編寫易於改變並經過測試的代碼(這樣,如果要改變代碼的話才不會造成bug),而且只需要滿足當前的需求。而當他意識到這一點的時候,他在無形之中,已經蛻變成為了「差不多」經驗豐富的開發人員。


「我們現在要重構整個項目嗎?」年輕的開發人員問。


「當然不!這又沒有預算的。」經驗豐富的開發人員斬釘截鐵地回答。


「但是,要是出現其他bug怎麼辦?」年輕的開發人員問。


「可以讓自由職業者來解決那些問題。」經驗豐富的開發人員答覆。


然後,「差不多」經驗豐富的開發人員開始能寫出優良的代碼,漸漸地向更高層次的水平靠近。當然,這是另一個故事了。


對於年輕的開發人員的建議:請回過頭去看看你曾經寫的代碼,如果你的代碼現在看上去沒有以前感覺的那麼漂亮,那麼說明你在進步。


對於經驗豐富的開發人員的建議:當你的身邊出現了一個年輕的開發人員,或許你需要不時地替他們收拾爛攤子。如果你想擺脫這樣的處境,那麼就讓他們儘快學會編寫得體的代碼。


對於自由職業者的建議:你或許應該提高你的酬勞了:-P


關注本帳號(apkbus),回復「電子書」查看:

(1)Android移動應用開發從入門到精通

(2)Android開發相關書籍六本

(3)ios遊戲開發實戰入門

(4)《程式設計師跳槽全攻略》全文

(5)Android遊戲源碼集合(主要是AndEngine和Libgdx的


回復「視頻」獲取:

(1)Android應用開發視頻教程

(2)400集android+ios+unity視頻開發教程。

(3)Android教程與實戰資料

小艾推薦

有開發的就要有運營的,下面小艾給大家推薦一個公眾帳號:aiyingli211

此帳號是幫助開發者或者團隊提供高水平的移動盈利指導,從應用選型、開發技術、投放技巧、推廣策略等方面提供指導性建議。歡迎大家關注!

點擊左下角APP源碼分享大賽入口


相關焦點

  • 【程式設計師】英文怎麼說?
    程式設計師 programmer1.Mike found a challenging
  • 程式設計師們雙11都買了啥?除了格子衫還有TA
    10月24日程式設計師節,天貓發布「雙11格子衫銷售地圖」。數據顯示,在幾大網際網路公司所在地中,百度所在的北京西二旗略勝華為、騰訊所在的南山街道辦,與阿里所在的杭州未來科技城以及成都天府軟體園、上海張江科技園分列榜單前五。傳說程式設計師有3寶:格子衫、牛仔褲和雙肩包。
  • 女程式設計師夢到自己男友劈腿,結果.....
    借錢  程式設計師甲:哎,借我點錢唄?  程式設計師乙:借多少?  程式設計師甲:1000。  程式設計師乙:行。哎,要不要多借你 24,好湊個整?  程式設計師甲:也好。又是借錢  程式設計師A:哥們兒,有錢嗎?  程式設計師B:有  程式設計師A:借我點唄?  程式設計師B:啊?你說什麼?  程式設計師A:借我點唄?  程式設計師B:不是,上一句?  程式設計師A:有錢嗎?  程式設計師B:沒有  程式設計師A:暈,程序重新請求一下,結果還不一樣了!!!!
  • 現實裡的《三十而已》:不比包包的程式設計師們在攀比什麼?
    是不是還以為程式設計師們只會攀比誰的格子襯衫更好看?太悲傷了!為什麼他們一起離我而去!要知道:老婆漂亮的程式設計師,鄙視老婆不漂亮的程式設計師。有老婆的程式設計師,鄙視沒有老婆的程式設計師。沒有老婆有女朋友的程式設計師,鄙視單身程序狗。
  • 十佳新銳程式設計師 西安十佳優秀程式設計師發布
    作為全球程式設計師節的重磅環節,2020年第四屆全球程式設計師節開幕式上還發布了十佳新銳程式設計師、西安十佳優秀程式設計師並舉行頒獎儀式,旨在樹立行業標杆,發揮榜樣力量,鼓勵更多的企業和人才湧入這個領域。人才培養 重中之重。近年來,我國軟體企業在研發人才和研發資金投入方面不斷增長,培養了一大批程式設計師精英。
  • 1024程式設計師節,向改變世界的程式設計師致敬
    小編接觸過很多的程式設計師,他們並不是只會和「0」或「1」打交道,他們有些口若懸河、活潑開朗,他們有些雙商在線、顏值可觀,他們表面高冷內心火熱,他們用hello world向世界問好,他們用技術在改變世界!所以1024程式設計師節到了,小編想替」蒙冤「已久的程式設計師群體說上幾句話!
  • IT是程式設計師嗎
    程式設計師平時都做什麼?it是程式設計師嗎?這些疑問,小編一一為你解答。IT是什麼意思?IT(Information Technology):即信息科技和產業的意思。它主要是應用計算機科學和通信技術來設計、開發、安裝和實施信息系統及應用軟體。它也常被稱為信息和通信技術。
  • 日本年輕的程式設計師發明了一種AI,可以將您的臉變成動漫人物
    當年輕的日本程式設計師Creke創建了一個名為Selfie 2 Waifu的網站,以允許女性將自拍照變成waifu時,宅男的語是「我的妻子」,這是她為自己嘗試的結果。克裡克說:「我知道有一種名為UGATIT的算法,可以將您的自拍照變成動漫人物或Waifu(如果您願意的話),這要歸功於他們的算法發明者。
  • 萊溫斯基 | 二十年後回望年輕的自己,悲傷成河
    她說,有時我們所經歷的抑鬱,實際上是悲傷。悲傷。是的,這是悲傷。拍片的過程引我進入新的羞恥的展室讓我探察,並把我送到了悲傷的門前。我為給別人帶來的痛苦而悲傷。我曾經在DC心碎的那個年輕的我而悲傷,以及為我仍然感受到的羞恥而悲傷。我為被曾經視為朋友的人背叛而悲傷,為我以為會照顧我的男人背叛而悲傷。
  • 職業性格評測真相,程式設計師就是雙子座的貓!
    雙子座的程式設計師是分裂的。看似趨同的外表下,其實已經暗自形成了一個鄙視鏈閉環,從語言的鄙視鏈、男女鄙視鏈,甚至到了沒有女朋友都有遭受鄙視鏈。但無論雙子座的程式設計師再怎麼分裂和趨同,小哥都覺得其實「duck不必」,都是打工人,心裡還得有點兒數。
  • 程式設計師是怎麼約會的?
    程式設計師?在多數心目印象當中,程式設計師大多數是宅男。程式設計師的世界是由代碼構建的,代碼之外還是代碼。程式設計師的世界是:格子衫,牛仔褲,其實,在程式設計師眼裡衣服就是塊布,避體不貴,經濟實惠。省下的錢用來買個一萬多的耳機,香的不要不要的呢。而且一般的衣服久坐會有褶,穿格子衫反而不那麼明顯。沒事兒的時候,還可以埋頭在自己身上練習指法。我們今天聊的並不是以上種種,不如聊聊程式設計師是怎麼約會的。
  • 程式設計師常見的口頭禪……
    ( @程式設計師最幽默 編譯製作)6、什麼時候完成PM:今天能完成嗎?程式設計師:差不多吧。。。。程式設計師:差不多了,還有個小 bug 我再修改下。。。。再隔日。。。PM:完成了嗎?程式設計師:做好了,我細節再調整下。。。。
  • 被「維密超模」耽誤了的女程式設計師......
    不過,倔強的 Scott 根據自己的興趣愛好,抗拒了父母的安排,選擇了自己更喜愛的模特生涯,並將程式設計師作為第二職業。但就是這樣一位女孩,在第二重程式設計師的身份曝光之後,即使有諸多成就加身,也沒有迎來其他程式設計師的熱烈掌聲和幫助,反而接踵而至的是嚴重的排斥和來自四面八方的質疑:作為兼職的程式設計師,你有何能耐?為什麼會受到這樣的質疑?或許還不是因為 Lyndsey Scott 有一個讓常人覺得不務正業的模特職業,雖然 Scott 通常會忽略這些輿論攻擊。
  • 程式設計師以後不從事IT行業,該如何規劃自己的未來?
    經常有人說,程式設計師是個年輕的職業,隨著年齡的逐漸增大,體力和腦力確實不如年輕人。未雨綢繆,作為程式設計師,也需要提前規劃自己的未來。1、 認真把握自己的現狀。我是否真的熱愛程式設計師這份職業?在程式設計師崗位上,我還能不能進階升級?除此之外,我還有哪些專長?
  • 在中國,程式設計師這行能幹一輩子嗎?
    相比於國外的大齡、高齡程式設計師,35歲程式設計師「天花板」,已經成為一個廣為流傳的梗。程式設計師在內的網際網路工作者過年回家,恐怕也沒少被質疑這一行就是碗青春飯。但事實真的是如此嗎?但總之,這群已經35歲或快35歲的程式設計師,「貌似沒有被優化的跡象」。在朱老師看來,團隊裡經驗豐富的老程式設計師其實對開發效率影響很大,「新人搞不定的bug,老程式設計師可能看兩眼就知道問題在哪兒了」。
  • 這個世界對程式設計師的誤解,到底有多深?
    廣州程式設計師平均睡眠時長達到7小時50分,在一線城市中穩居榜首。如果按年計算,廣州程式設計師1年能比上海程式設計師多睡100個小時,相當于波音747繞地球超音速飛行2.5圈。02程式設計師都是「聰明絕頂」嗎?經過脈脈統計,有44%的男性程式設計師喜歡把錢花在電子產品上,39.3%的女程式設計師喜歡把錢花在旅行上,這兩項分別暫列花錢愛好榜的第一名。而年輕程式設計師更喜歡買潮牌,之後隨著年齡的增加,購買量也越來越少,個人感覺是認識到所謂潮牌的意義。
  • 這是 1000 萬程式設計師都想要的格子衫!
    以至於抹髮油穿潮牌的程式設計師,很可能被同行暗地裡認為編程技術不行;而襯衫上格子的大小、數量、密度,在這套不正經的亞文化中與程式設計師專業水平聯繫了起來。國內領先中立雲計算服務商UCloud(優刻得)正是看到了這點,決定發起首屆「金格子衫獎」,為程式設計師們金光閃閃的一面點讚。看多了微博上對程式設計師的花式調侃,再看看UCloud·金格子衫獎6位獲獎程式設計師的故事,或許能明白,這輩子嚴肅搞笑的程式設計師,上輩子或許也是折翼的科技仙男,值得對他們的前世今生,一探究竟。
  • 程式設計師真的「內捲化」了嗎?如何應對?
    而在前不久,播妞就在某乎上看到這樣一個問題「程式設計師未來會成為非常內卷的職業麼?」這個問題目前共有6029位關注者,瀏覽量達到500多萬,從關注量和瀏覽量上來看,大家對之後的職業發展的趨勢還是非常關心的,那今天我們就來探討一下程式設計師如何應對「內卷」這個問題。內卷是什麼?
  • 36歲的博士程式設計師找不到工作?大廠的「年齡歧視」從來都不是秘密
    根據獵聘網發布的《2019年全國網際網路行業程式設計師就業大數據報告》顯示,30歲以下的90後已經成為程式設計師行業的主力軍,佔比超70%。另外,獵聘網統計的2015年~2019年中高端程式設計師求職者數據顯示,30歲以下尤其是25歲至30歲的程式設計師從業者在5年內所佔的比例一直是最高的,35歲以上的大齡程式設計師所佔比例非常小。
  • 月薪22W:程式設計師禿頂失眠,你願意嗎?網友直呼,我可以住公司
    月薪22W:程式設計師禿頂失眠,你願意嗎?網友直呼,我可以住公司果不其然,程式設計師的技術都是用發量來衡量的。某程式設計師在職場論壇上,直言「現在禿頂加失眠,如果可以重來,我想回老家做一份朝九晚五的工作,有時間做點兒自己喜歡的事情。」