色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

給人生剛開始的程序員的一份建議

454398 ? 來源:csdn ? 作者:Gergely Orosz ? 2020-10-16 10:23 ? 次閱讀

作者 | Gergely Orosz

譯者 |王強(qiáng)

回顧十年之前,有一些事情,我希望當(dāng)初剛?cè)胄挟?dāng)程序員的我就能明白,并盡早養(yǎng)成這些習(xí)慣。它們可以幫助我更快、更專注地成長(zhǎng)。以下是我的一些建議,給當(dāng)年剛找到第一份程序員工作的我。

1每年花時(shí)間讀兩本關(guān)于軟件工程的書

我每次花時(shí)間緩慢而認(rèn)真地閱讀別人推薦的軟件工程書籍時(shí),自身都會(huì)得到提升。所謂認(rèn)真閱讀,我的意思是要做筆記、與他人交談、寫寫畫畫、動(dòng)手嘗試、回過頭來重新閱讀。

我希望我在成為開發(fā)人員的頭幾年就閱讀與軟件相關(guān)的書籍。 但我是在從業(yè)第 5 年左右才開始這樣做的。諸如《C#深入》,《簡(jiǎn)潔代碼》和《Javascript:The Good Parts》之類的書都幫助我提升了技術(shù)水平。我并不是在推薦具體的書名——不管怎么說,其中有些都已經(jīng)過時(shí)了。我的建議是尋找比你現(xiàn)有知識(shí)更深入的書籍,可以是關(guān)于特定技術(shù)或關(guān)于軟件工程實(shí)踐的著作。

看這些書時(shí)我不會(huì)一目十行。實(shí)際上,我看得很慢。我通常每次坐下來只讀一兩章??吹臅r(shí)候,我會(huì)做筆記或把重點(diǎn)劃出來;看完后,我會(huì)回顧并經(jīng)常與他人討論。我也開始寫一些書評(píng)放在自己的個(gè)人博客。

主要是反思我學(xué)到的東西。過去幾年,我養(yǎng)成了這些習(xí)慣。這些習(xí)慣幫助我以技術(shù)經(jīng)理的身份迅速成長(zhǎng):它們對(duì)工程師來說也非常有益。想找推薦書單嗎?這里是我已經(jīng)看過的和正在看的 書籍清單。

為什么書籍要好過博文、視頻或演講?其實(shí)我認(rèn)為書籍比其他加起來都要好。無(wú)論什么樣的主題內(nèi)容,與書籍相比,其他的格式都會(huì)流于表面。書籍里的知識(shí)更深入,而且組織良好。像本文這樣的帖子,我只需要花費(fèi)幾個(gè)小時(shí)來寫,但是我花費(fèi)在 我寫的這本關(guān)于軟件工程師成長(zhǎng)的書籍上 已經(jīng)將近一年。我認(rèn)為讀書可以更緩慢但深入地消化知識(shí)。

不要太貪心:每六個(gè)月讀完一本書已經(jīng)很棒了。挑選一本好書,多花一些時(shí)間好好閱讀。在讀了一兩本書之后,我還建議你閱讀《如何讀一本書:智能閱讀的經(jīng)典指南》一書,強(qiáng)烈推薦。

2精研你工作中主打的編程語(yǔ)言,學(xué)到底層

我剛開始時(shí)主要用 PHP,兼寫一點(diǎn)初級(jí) JavaScript。我在大學(xué)里學(xué)過 C 和 C ++,都不喜歡。我的第一份全職工作用的是 C#。我了解很多種語(yǔ)言,但是沒有一種語(yǔ)言學(xué)得非常好。

兩年后,我開始遇到一些麻煩,在調(diào)試 C#代碼時(shí)不得不找高級(jí)開發(fā)人員幫忙。其中一個(gè)總是幫我調(diào)試程序的高級(jí)工程師,他似乎非常了解這種語(yǔ)言,他向我推薦了一本書《C#深度學(xué)習(xí)》讓我去看。然后我看了。我一路學(xué)到線程、垃圾回收和泛型的工作方式,這些都是底層知識(shí)。我花了數(shù)不清的時(shí)間去了解協(xié)方差(covariance)、逆方差(contravariance)和其他艱深的主題。

精研我工作中主打的語(yǔ)言是我做出的最佳決定之一。 在我的第一份工作中,這種研究只是無(wú)意為之的,并且還得靠那位高級(jí)工程師指點(diǎn);但是,這些知識(shí)在工作中,以及面試其他工作時(shí)都成了一種優(yōu)勢(shì)。在我職業(yè)生涯的后期,我有意深入研究新的語(yǔ)言和框架。我是作為 C # 程序員加入 Skype 的,但是,我們需要改用 JavaScript 和 WinJS。因此,我又深入學(xué)習(xí)了 JS,并掌握了 WinJS,以至于我可以 在 Pluralsight 上開課。

你懂的語(yǔ)言越多,就越了解它們各自的長(zhǎng)處和短處。 當(dāng)我轉(zhuǎn)移到 iOS 時(shí),我已經(jīng)精通好幾種語(yǔ)言。Swift 出現(xiàn)時(shí),我簡(jiǎn)單關(guān)注并參與了語(yǔ)言討論,并 建議添加讀寫反射這項(xiàng)能力 到 swift 的未來規(guī)劃中。了解了該語(yǔ)言的特性后,就可以更容易地找出讓我的團(tuán)隊(duì) 從 Objective-C 遷移到 Swift 的最佳策略。而且,你知道的語(yǔ)言越多,就越容易掌握新的語(yǔ)言——并且在需要時(shí)更輕松地深入學(xué)習(xí)。

3多與他人結(jié)對(duì)編程

我覺得最近結(jié)對(duì)編程已經(jīng)過時(shí)了。當(dāng)年我們開始時(shí),長(zhǎng)期結(jié)對(duì)的極限編程、測(cè)試驅(qū)動(dòng)開發(fā)和 mob 編程都很受歡迎。與人結(jié)對(duì)之后,我獲得了職業(yè)生涯中一些最大的躍升。這些躍升比讀書更重要。

我曾與一位開發(fā)人員有過一次難忘的結(jié)對(duì)編程經(jīng)歷。他對(duì)包括我在內(nèi)的所有人都進(jìn)行了嚴(yán)格的代碼審查。有一天我受夠了代碼審查工具上的評(píng)論,決定不再在上面答復(fù),而是坐在這些評(píng)論者旁邊,要求他們當(dāng)面向我說明他們的評(píng)論。我最終學(xué)到了很多東西——同時(shí)還告訴他們,我認(rèn)為他們的評(píng)論不公平。他們注意到了這點(diǎn),建議我每當(dāng)有這種情況時(shí)就結(jié)對(duì)編程。然后我就去做了。這位開發(fā)人員對(duì)性能有所了解,我通過跟他結(jié)對(duì)編程,了解到了潛在的性能瓶頸的來龍去脈——然后我教給他們有關(guān)可維護(hù)性方面的知識(shí)作為回報(bào)。

與另一位工程師進(jìn)行測(cè)試驅(qū)動(dòng)開發(fā)經(jīng)歷,是我在結(jié)對(duì)編程中的另一個(gè)美好回憶。我們輪流編寫代碼和測(cè)試代碼。我們做了兩天,實(shí)現(xiàn)了系統(tǒng)中一個(gè)棘手的部分。那次經(jīng)歷實(shí)在令我大開眼界。我們?cè)隍?yàn)證所有邊界值的過程中,甚至反過來完全改變了實(shí)現(xiàn)方法。我們還與該開發(fā)商建立了牢固的紐帶并持續(xù)了數(shù)月之久。

4編寫單元測(cè)試用例,并在持續(xù)集成中運(yùn)行

高級(jí)工程師們經(jīng)常談?wù)搯卧獪y(cè)試的重要性。但是單元測(cè)試似乎太違反直覺了:為什么要花更多的時(shí)間編寫看起來很簡(jiǎn)單的測(cè)試?這是我在某段時(shí)間里對(duì)單元測(cè)試的看法。

為了領(lǐng)略單元測(cè)試的價(jià)值,你需要擁有“啊哈!”時(shí)刻——當(dāng)你編寫的單元測(cè)試為你節(jié)省了一天的時(shí)間,那就是“啊哈!”時(shí)刻。在到達(dá)這一步之前,你需要腳踏實(shí)地,好好編寫這些測(cè)試,并使它們?cè)诔掷m(xù)集成中運(yùn)行。而且,你可能需要持續(xù)做上幾個(gè)月,才會(huì)得到一個(gè)“啊哈!”時(shí)刻。

我有兩個(gè)這樣的時(shí)刻。第一個(gè)發(fā)生在我為一個(gè)小型在線賭場(chǎng)構(gòu)建后端引擎(作為輔助項(xiàng)目)時(shí)。該 API 正在管理真金白銀,我因?yàn)楹ε路稿e(cuò)誤,所以用單元測(cè)試覆蓋了所有代碼。該項(xiàng)目交付比我預(yù)想要晚——部分原因歸咎于測(cè)試,它們耗費(fèi)了很多時(shí)間。但是這樣做是正確的。我在合同結(jié)束時(shí)將項(xiàng)目移交給了客戶,兩年后,他們告訴我,這些測(cè)試多次挽救了團(tuán)隊(duì)——如果不是因?yàn)闇y(cè)試失敗,代碼漏洞將會(huì)擴(kuò)散到生產(chǎn)環(huán)境中。

我的另一個(gè)“啊哈”時(shí)刻是在 Web 上構(gòu)建 Skype。我們?cè)?web.skype.com 上給 Google Hangouts 創(chuàng)造了一個(gè)新的競(jìng)爭(zhēng)對(duì)手。我們團(tuán)隊(duì)是一支強(qiáng)大的團(tuán)隊(duì),擁有完整的單元覆蓋范圍和嚴(yán)格的集成測(cè)試。進(jìn)入項(xiàng)目三個(gè)月后,工程師決定重構(gòu)整個(gè)項(xiàng)目的結(jié)構(gòu)。這是非常冒險(xiǎn)的重構(gòu),我們所有人都投票反對(duì)這樣做。

那位工程師指出,基于現(xiàn)有的測(cè)試覆蓋率,這次重構(gòu)應(yīng)該是小菜一碟,只要測(cè)試通過,重構(gòu)就沒問題。我對(duì)此表示懷疑。但這正是測(cè)試用例的用處。經(jīng)過為期一周的重構(gòu),他推動(dòng)了一次巨大的變革……一切都沒有中斷,當(dāng)時(shí)沒有,之后也沒有。所有測(cè)試均通過。就在那刻,我意識(shí)到了一套強(qiáng)大的測(cè)試用例所能提供的安全保障,以及它能夠讓我們不害怕重構(gòu)的事實(shí)。

5養(yǎng)成重構(gòu)習(xí)慣并掌握重構(gòu)工具

多年來,當(dāng)我與團(tuán)隊(duì)合作時(shí),我傾向于在代碼庫(kù)中進(jìn)行盡可能小的更改。對(duì)于我自己的個(gè)人項(xiàng)目,我進(jìn)行了大量的重構(gòu)——但是我從來不在我不完全掌控的代碼庫(kù)上做這種事情。

然后,我在 Skype 遇到了一位工程師,他會(huì)不斷進(jìn)行小型或大型重構(gòu)。他們都有道理,并且代碼總是變得更好。而且他們從不搞亂事情。他們是如何做到的呢?

當(dāng)我與他們結(jié)對(duì)編程時(shí),發(fā)現(xiàn)他們非常了解自己的 IDE,并添加了用于重構(gòu)的插件。提取方法、改變量名、提取成常量。.……他們只需要花一秒鐘。

我意識(shí)到,我害怕重構(gòu),既錯(cuò)過了實(shí)踐,又錯(cuò)過了能幫助我重構(gòu)的工具。 于是當(dāng)我開始養(yǎng)成每周重構(gòu)一次的習(xí)慣時(shí),我在這兩個(gè)方面都提升了。這個(gè)習(xí)慣后來對(duì)我很有幫助——我多么希望自己在很多年前就開始這么做啊。

6學(xué)習(xí)良好的軟件工程經(jīng)驗(yàn),這使我獲益良多

在我剛開始做軟件工程師的時(shí)候,我曾經(jīng)被高級(jí)工程師唬到了。他們看出了我沒看出來的錯(cuò)誤,他們知道我不知道的答案。我當(dāng)時(shí)以為他們比我更聰明,并且接受了這一切。

現(xiàn)在,我已經(jīng)與許多著名的軟件工程師緊密合作過,并擔(dān)任了另外幾位的導(dǎo)師,我發(fā)現(xiàn)沒有那么唬人。最好的軟件工程師會(huì)把學(xué)到的知識(shí)和實(shí)際經(jīng)驗(yàn)結(jié)合在一起——知識(shí),你可以去學(xué);經(jīng)驗(yàn),你需要去實(shí)踐。

找機(jī)會(huì)在不同的技術(shù)棧、不同的領(lǐng)域和具有挑戰(zhàn)性的項(xiàng)目里工作。 我花了七八年的時(shí)間才達(dá)到我認(rèn)為的“高級(jí)”水平。我看到有些人加入了像 Uber 這種高成長(zhǎng)性的公司,三四年就達(dá)到了。這中間的區(qū)別是什么?這些人從事具有挑戰(zhàn)性的項(xiàng)目,力求跟上周圍其他人的步伐,并經(jīng)常在中途更換團(tuán)隊(duì),重新開始。他們自愿參與新項(xiàng)目,并在團(tuán)隊(duì)中率先嘗試新技術(shù)。雖然我最終還是成為了這樣的人,但那是后來的事,不是在最初的幾年中。

7把所學(xué)教給他人

學(xué)習(xí)某些東西,最好的方法是把它們教給別人。我是很偶然發(fā)現(xiàn)這一點(diǎn)的。在 2010 年,我開始在.NET 和 Windows Phone 用戶組中 做演示。我的演講效果不佳,但是我僅在準(zhǔn)備階段就學(xué)到了很多東西。

現(xiàn)在,當(dāng)我想學(xué)好東西時(shí),就會(huì)報(bào)名參加了一次公開討論。 加入 Uber 一年后,我提出做一個(gè)演講,介紹在 2017 年 Uber 如何大規(guī)模推出后端更改。當(dāng)時(shí),我還不完全了解我們是如何做到的——在那之前,我主要從事移動(dòng)開發(fā),并管理一個(gè)移動(dòng)團(tuán)隊(duì)。通過演講,我別無(wú)選擇,只能學(xué)習(xí)所有細(xì)節(jié)。我這樣做的壓力很大:大約有 100 個(gè)本地開發(fā)人員報(bào)名要來聽我的演講。

許多其他人也說這種方法很有效——Shawn“Swyx” Wang 是 #LearnInPublic approach 的杰出代表。他的成長(zhǎng)故事遠(yuǎn)比我的經(jīng)歷令人印象深刻:改行后在四年里做到 Netlify 和 AWS 的高級(jí)工程師職位,并 撰寫了一本 關(guān)于他學(xué)習(xí)經(jīng)歷的書。教別人你只會(huì)得到好處。你不僅可以通過教學(xué)來學(xué)到東西,而且還可以幫助和啟發(fā)他人。

而且我認(rèn)識(shí)的所有經(jīng)驗(yàn)豐富的模范開發(fā)人員,都是合格的老師和導(dǎo)師。越早開始回饋和教導(dǎo),就會(huì)越自然而然地成為這樣的開發(fā)人員。
編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 工程師
    +關(guān)注

    關(guān)注

    59

    文章

    1571

    瀏覽量

    68555
  • 程序員
    +關(guān)注

    關(guān)注

    4

    文章

    952

    瀏覽量

    29818
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    TMS320C6000程序員指南

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000程序員指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-24 17:19 ?0次下載
    TMS320C6000<b class='flag-5'>程序員</b>指南

    TMS320C55x DSP CPU程序員參考補(bǔ)充

    電子發(fā)燒友網(wǎng)站提供《TMS320C55x DSP CPU程序員參考補(bǔ)充.pdf》資料免費(fèi)下載
    發(fā)表于 12-21 11:36 ?0次下載
    TMS320C55x DSP CPU<b class='flag-5'>程序員</b>參考補(bǔ)充

    UCD3138A64/UCD3138128程序員手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《UCD3138A64/UCD3138128程序員手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 12-09 14:42 ?0次下載
    UCD3138A64/UCD3138128<b class='flag-5'>程序員</b>手冊(cè)

    機(jī)械革命發(fā)布CODE AI程序員

    近日,英特爾新質(zhì)生產(chǎn)力技術(shù)生態(tài)大會(huì)在成都舉行,機(jī)械革命作為重要參展商帶來了多款明星產(chǎn)品引爆全場(chǎng)!其中更是在AI PC軟件生態(tài)產(chǎn)品發(fā)布分論壇上,Intel、智譜、機(jī)械革命三方聯(lián)合發(fā)布了專為程序員設(shè)計(jì)的CODE AI程序員本,成為本次大會(huì)的
    的頭像 發(fā)表于 11-30 10:34 ?429次閱讀

    Linux驅(qū)動(dòng)程序程序員指南

    電子發(fā)燒友網(wǎng)站提供《Linux驅(qū)動(dòng)程序程序員指南.pdf》資料免費(fèi)下載
    發(fā)表于 11-22 15:53 ?0次下載
    Linux驅(qū)動(dòng)<b class='flag-5'>程序</b><b class='flag-5'>程序員</b>指南

    AI編程工具會(huì)不會(huì)搶程序員飯碗

    AI編程工具可輔助編程,減少手動(dòng)編碼,提升效率,對(duì)程序員有積極影響也有挑戰(zhàn)。程序員需深化技能、拓寬知識(shí)應(yīng)對(duì)。長(zhǎng)遠(yuǎn)看,AI與人類程序員將共生共榮。
    的頭像 發(fā)表于 11-08 10:17 ?187次閱讀

    第五屆長(zhǎng)沙·中國(guó)1024程序員節(jié)開幕

    據(jù)官方媒體報(bào)道,10月24日;? 第五屆長(zhǎng)沙·中國(guó)1024程序員節(jié)在湖南湘江新區(qū)開幕;本次中國(guó)1024程序員節(jié)以“智能應(yīng)用新生態(tài)”為主題。設(shè)置有岳麓對(duì)話、技術(shù)英雄會(huì)、主題峰會(huì)及賽事、展覽等活動(dòng),
    的頭像 發(fā)表于 10-25 15:42 ?212次閱讀

    麻煩廠家發(fā)一份CS1237-SO的驅(qū)動(dòng)程序給我STC版本的

    麻煩廠家發(fā)一份CS1237-SO的驅(qū)動(dòng)程序給我STC版本的741891100@qq.com
    發(fā)表于 08-23 14:48

    一份CSU32P20的ADC范例程序

    一份CSU32P20的ADC范例程序,郵箱2605822110@qq.com
    發(fā)表于 08-10 18:04

    程序員節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎(jiǎng)

    10月24日,程序員專屬的節(jié)日里,我們盛大開啟“程序員節(jié)視頻創(chuàng)意大賽”特別活動(dòng)!這不僅是場(chǎng)視覺的盛宴,更是智慧與創(chuàng)意的璀璨碰撞。我們誠(chéng)摯邀請(qǐng)每
    的頭像 發(fā)表于 07-08 10:38 ?72次閱讀
    <b class='flag-5'>程序員</b>節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎(jiǎng)

    程序員節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

    10月24日,程序員專屬的節(jié)日里,我們盛大開啟“程序員節(jié)視頻創(chuàng)意大賽”特別活動(dòng)!這不僅是場(chǎng)視覺的盛宴,更是智慧與創(chuàng)意的璀璨碰撞。我們誠(chéng)摯邀請(qǐng)每
    的頭像 發(fā)表于 07-04 09:00 ?67次閱讀
    <b class='flag-5'>程序員</b>節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

    適者生存,程序員最終會(huì)流向哪……

    程序員沒有永遠(yuǎn)的護(hù)城河!!就目前的互聯(lián)網(wǎng)大環(huán)境來看,it行業(yè)已經(jīng)是……
    的頭像 發(fā)表于 03-11 17:11 ?420次閱讀
    適者生存,<b class='flag-5'>程序員</b>最終會(huì)流向哪……

    瑞薩Flash程序員V3 發(fā)布說明

    電子發(fā)燒友網(wǎng)站提供《瑞薩Flash程序員V3 發(fā)布說明.pdf》資料免費(fèi)下載
    發(fā)表于 02-19 09:37 ?1次下載
    瑞薩Flash<b class='flag-5'>程序員</b>V3 發(fā)布說明

    2024程序員的未來方向如何走?還看今朝

    這幾年的IT行業(yè)想必大家已經(jīng)感受到了,Android、Java、前端等等程序員都經(jīng)歷了大廠……
    的頭像 發(fā)表于 02-02 09:45 ?837次閱讀
    2024<b class='flag-5'>程序員</b>的未來方向如何走?還看今朝

    1月18號(hào)“純鴻蒙”千帆啟航,程序員預(yù)備!

    。 如何正確看待鴻蒙? 我作為程序員來說,首先是看鴻蒙的發(fā)展、市場(chǎng)開發(fā)崗位、薪資以及前景。 這幾年對(duì)鴻蒙的發(fā)展情況來分析,從2019年開始鴻蒙的出來今天,華為鴻蒙取得了很大的成就。從“不兼容
    發(fā)表于 01-16 22:13
    主站蜘蛛池模板: 久久99re2热在线播放7| 9亚洲欧洲免费无码在线| 一个人免费视频在线观看高清频道| 97在线播放视频| 久久精品国产亚洲AV未满十八| 小莹的性荡生活40章| 高清午夜福利电影在线| 欧美人xxxxx| ai换脸女明星被躁在线观看免费| 久久亚洲AV成人无码动态图| 一本之道高清在线3线观看 | 久久一er精这里有精品| 亚洲青青草原| 精品国产国产综合精品| 一本道的mv中文字幕| 久久精品无码一区二区日韩av| 野花日本免费完整版高清版动漫 | 边做边爱BD免费看片| 欧美最猛12teevideos欧美| 啊轻点啊再深点视频免费| 欧美性狂猛AAAAAA| 草莓视频cm.888tw| 乳欲性高清在线| 国产毛多水多高潮高清| 亚洲精品人成电影网| 黑人BBCVIDEOS极品| 伊人狼人久久精品热9| 美女露出逼| 处xxxx.88| 亚洲 欧美 国产 综合 在线| 精品欧美小视频在线观看| 18日本人XXXXXX18| 秋霞网在线伦理影片| 国产毛A片啊久久久久久A| 一个人看的www视频动漫版| 免费观看成人www精品视频在线| YELLOW日本动漫免费动漫| 喜马拉雅听书免费版| 精品一区二区免费视频蜜桃网 | 樱桃BT在线观看| 欧美大片免费观看|