歡迎您訪問(wèn)新華電腦學(xué)校官方網(wǎng)站!官網(wǎng)

您的位置:首頁(yè)>新聞資訊>就業(yè)新聞

高效程序員的七個(gè)習(xí)慣

發(fā)布時(shí)間:2020-04-14  作者:未知 瀏覽量:72

很多程序員花費(fèi)大量時(shí)間通過(guò)練習(xí)面試問(wèn)題和完善簡(jiǎn)歷來(lái)獲得更好的工作機(jī)會(huì),一旦最終被實(shí)力強(qiáng)勁的名企錄用,很多人可能會(huì)發(fā)現(xiàn):過(guò)去用來(lái)得到這份工作的技能與日常工作中需要的技能并不匹配。

受到這個(gè)現(xiàn)象的啟發(fā),小編有幾個(gè)獨(dú)到的看法,以下是我們總結(jié)的高效程序員的七項(xiàng)技能。

1. 學(xué)習(xí)如何閱讀別人的代碼

除了你,每個(gè)人寫(xiě)的代碼都是垃圾?實(shí)際上,能夠在別人的代碼之上繼續(xù)工作是一項(xiàng)有多重好處的偉大技能。不管以前工程師的代碼是多么混亂或者考慮不周,你仍然需要能夠擴(kuò)展它。畢竟,這是你的工作。

這項(xiàng)技能在兩個(gè)方面對(duì)你有益。第一,能夠閱讀他人的代碼是一個(gè)了解什么是糟糕設(shè)計(jì)的好機(jī)會(huì)。當(dāng)你瀏覽別人的代碼時(shí),你會(huì)知道什么是有效的,什么是無(wú)效的。更重要的是您可以了解什么類(lèi)型的代碼對(duì)于其他工程師來(lái)說(shuō)是容易擴(kuò)展的,以及什么類(lèi)型的代碼難以擴(kuò)展。

能夠閱讀別人亂七八糟的代碼,也使得在需要更新的時(shí)候變得容易。這有時(shí)意味著更新您缺乏經(jīng)驗(yàn)的代碼。例如,我們?cè)?jīng)將一個(gè)腳本從 Powershell 更新到 Python 再到 Perl。我們?cè)赑erl方面的經(jīng)驗(yàn)有限,但我們?nèi)匀挥凶銐虻谋尘爸R(shí)來(lái)弄清楚這段腳本到底做了什么,并做出必要的改變。

這一切都來(lái)自于對(duì)所有代碼的良好理解以及能夠閱讀以往的代碼。閱讀別人的代碼會(huì)讓你變得有價(jià)值,因?yàn)檫@項(xiàng)技能甚至可以讓你接手那些讓別人難堪的過(guò)度工程化的系統(tǒng)。

2. 對(duì)壞項(xiàng)目的感覺(jué)

有許多技能需要花時(shí)間去學(xué)習(xí)。我們認(rèn)為值得了解的技能之一是理解什么項(xiàng)目不值得做,什么項(xiàng)目顯然是行尸走肉。

大公司總是有非常非常多的項(xiàng)目在進(jìn)行(老板自己都不知道有多少),其中有些項(xiàng)目可能永遠(yuǎn)都不會(huì)完成,即時(shí)完成了,可能對(duì)公司也沒(méi)有什么有利的影響。有些可能本身就沒(méi)有任何商業(yè)意義(至少對(duì)你來(lái)說(shuō)不是) ,還有一些項(xiàng)目可能存在管理不善的問(wèn)題。這并不是說(shuō)當(dāng)你不認(rèn)可一個(gè)項(xiàng)目時(shí),你應(yīng)該立即拒絕這個(gè)項(xiàng)目。最嗨還是看看項(xiàng)目干系人是如何看待這個(gè)項(xiàng)目的,如果他們自己都不能正確地解釋他們對(duì)這個(gè)項(xiàng)目的最終成果會(huì)怎么樣的,那么可能這個(gè)項(xiàng)目就不值得做。

此外,有些項(xiàng)目可能過(guò)于專(zhuān)注于技術(shù)而不是解決方案,以至于從一開(kāi)始就很清楚不會(huì)有太多的影響。這個(gè)技能需要你在知道一個(gè)糟糕的項(xiàng)目到底是什么之前做很多糟糕的項(xiàng)目。所以,不要過(guò)早地花費(fèi)太多時(shí)間試圖辨別每個(gè)項(xiàng)目。

在你職業(yè)生涯的某個(gè)時(shí)刻,你會(huì)擁有良好的直覺(jué)與意識(shí)。

石家莊新華

3. 避免不必要的會(huì)議

無(wú)論您是軟件工程師還是數(shù)據(jù)科學(xué)家,會(huì)議都是必不可少的,因?yàn)槟枰軌蚺c項(xiàng)目經(jīng)理、最終用戶和客戶達(dá)成共識(shí)。然而,也有一種傾向,會(huì)議會(huì)突然接管你的整個(gè)時(shí)間表。這就是為什么學(xué)會(huì)如何避免不必要的會(huì)議是很重要的。

也許一個(gè)更好的詞是管理,而不是避免。這里的目標(biāo)是確保你把時(shí)間花在能夠推動(dòng)決策和幫助你的團(tuán)隊(duì)前進(jìn)的會(huì)議上。

最常見(jiàn)的方法就是每天抽出兩個(gè)小時(shí)的時(shí)間,這是一個(gè)持續(xù)不斷的會(huì)議。通常,大多數(shù)人會(huì)在他們認(rèn)為有益的時(shí)候定期召開(kāi)會(huì)議。他們會(huì)利用這段時(shí)間來(lái)趕上他們的開(kāi)發(fā)工作。

另一個(gè)避免開(kāi)會(huì)以便完成工作的方法是在別人之前出現(xiàn)。就我個(gè)人而言,我們喜歡早到,因?yàn)橐话銇?lái)說(shuō),辦公室比較安靜。大多數(shù)早到的人和你一樣,只是想把工作做完,這樣就不會(huì)有人打擾你了。

這對(duì)個(gè)人貢獻(xiàn)者來(lái)說(shuō)很重要,因?yàn)槲覀兊墓ぷ餍枰覀兗凶⒁饬Φ臅r(shí)間,而且我們不會(huì)和其他人交談。 是的,有時(shí)候你可能需要解決問(wèn)題,你可能想和其他人一起工作。但是一旦你解決了阻塞問(wèn)題,你只需要編碼。它是關(guān)于進(jìn)入那個(gè)區(qū)域,在那里你不斷地在你的頭腦中有許多關(guān)于你正在做的工作的復(fù)雜的想法。 如果你總是停下來(lái),很難從中斷的地方重新開(kāi)始。

4. 使用Git

一些計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生在他們出道的那天就開(kāi)始使用 Git 了。他們不需要專(zhuān)業(yè)人士指導(dǎo)就可以理解每一個(gè)命令和參數(shù)。其他人在他們的第一份工作中第一次體驗(yàn)到 GitHub。 對(duì)他們來(lái)說(shuō),Github 是一個(gè)地獄般的地方,充斥著混亂的命令和進(jìn)程。他們永遠(yuǎn)都不是100%的確定自己在做什么(備忘錄之所以流行是有原因的)。

無(wú)論您的公司使用什么倉(cāng)庫(kù)系統(tǒng),如果您正確使用它,該系統(tǒng)都是有用的,如果使用不當(dāng),則是一個(gè)障礙。一個(gè)簡(jiǎn)單的commit或push就可以讓你花上幾個(gè)小時(shí)來(lái)理清一些由多個(gè)分支合并組成的大雜燴。此外,如果您經(jīng)常忘記使用倉(cāng)庫(kù)的最新版本,那么您還將處理不那么好玩的合并沖突。

如果您需要一個(gè) Git 命令備忘單,那么就做吧。只要能讓你的生活更簡(jiǎn)單。

5. 編寫(xiě)簡(jiǎn)單可維護(hù)的代碼

年輕的工程師可能會(huì)有一種傾向,那就是試圖將他們所知道的一切都實(shí)現(xiàn)到一個(gè)解決方案中。有一種愿望,那就是把你對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)、設(shè)計(jì)模式和新技術(shù)的理解用到你編寫(xiě)的每一個(gè)代碼中。然后,你就很有可能創(chuàng)建了一個(gè)不必要的復(fù)雜性,因?yàn)樗苋菀走^(guò)度依附于您過(guò)去使用過(guò)的解決方案或設(shè)計(jì)模式。

在復(fù)雜的設(shè)計(jì)概念和簡(jiǎn)單的代碼之間取得平衡。設(shè)計(jì)模式和面向?qū)ο笤O(shè)計(jì)應(yīng)該盡可能的去簡(jiǎn)化宏觀計(jì)劃中的代碼。進(jìn)程越是被抽象、封裝和黑盒化,就越難以調(diào)試和維護(hù)。

6. 學(xué)會(huì)說(shuō)不,分清主次

這一條適用于團(tuán)隊(duì)中的任何角色,不管你是財(cái)務(wù)分析師還是軟件工程師。但對(duì)于技術(shù)角色似乎每個(gè)人都更需要學(xué)會(huì)這一條。如果您是一名數(shù)據(jù)工程師,您可能會(huì)被要求做更多類(lèi)似開(kāi)發(fā)方向的事情。一些團(tuán)隊(duì)需要數(shù)據(jù)提取,其他團(tuán)隊(duì)需要儀表盤(pán),其他團(tuán)隊(duì)又需要新的數(shù)據(jù)分析對(duì)接。

區(qū)分事情的優(yōu)先順序和說(shuō)不,是兩種不同的技能,但它們緊密地交織在一起。優(yōu)先級(jí)區(qū)分意味著你只花時(shí)間在對(duì)公司有很大影響的事情上。然而,說(shuō)不有時(shí)只是意味著回避應(yīng)該由其他團(tuán)隊(duì)來(lái)處理的工作。對(duì)于所有角色而言,它們經(jīng)常同時(shí)出現(xiàn)。

這可能是一個(gè)很難獲得的技能,因?yàn)槟憧偸窍M米约旱姆绞饺M足每一個(gè)請(qǐng)求。尤其是你剛從大學(xué)畢業(yè)。你想避免讓任何人失望,而且你總是能得到大量的工作。但是,在大公司里總是有無(wú)窮無(wú)盡的工作量,所以一定要抓住關(guān)鍵:只承擔(dān)能做的事情。

有很多技能在面試中是沒(méi)有辦法測(cè)試和驗(yàn)證的,甚至在大學(xué)里都沒(méi)有教過(guò)。通常情況下,這更多的是環(huán)境的限制,而不是缺乏讓學(xué)生暴露在真實(shí)環(huán)境中發(fā)展成長(zhǎng)的愿望。

7. 場(chǎng)景化思維

有一種技能在面試中很難測(cè)試,在大學(xué)學(xué)習(xí)時(shí)也很難復(fù)制,那就是思考最終用戶可能會(huì)如何錯(cuò)誤地使用你的軟件。我們通常將其稱為場(chǎng)景化操作思維。

由于大部分編程都是維護(hù)性的,因此它通常意味著更改與其他代碼高度耦合的代碼。即使是簡(jiǎn)單的更改也需要跟蹤對(duì)象、方法和 API的每一個(gè)可能存在引用的地方。否則,很容易意外地打破你沒(méi)有意識(shí)到的模塊連接。即使您只是更改數(shù)據(jù)庫(kù)中的數(shù)據(jù)類(lèi)型。

它還包括在進(jìn)入開(kāi)發(fā)之前通過(guò)邊緣案例和整體化的高級(jí)設(shè)計(jì)進(jìn)行思考。

對(duì)于開(kāi)發(fā)新模塊或者微服務(wù)的場(chǎng)景就更加復(fù)雜,花時(shí)間去考慮所構(gòu)建的操作場(chǎng)景非常重要。想想未來(lái)的用戶可能需要如何使用您的新模塊,他們可能會(huì)如何不正確地使用它,可能需要什么參數(shù),以及未來(lái)的程序員是否會(huì)以不同的方式需要您的代碼。

簡(jiǎn)單的編碼和編程只是問(wèn)題的一部分。創(chuàng)建一個(gè)在你的電腦上運(yùn)行良好的軟件是很容易的。但是部署代碼可能出錯(cuò)的方式就會(huì)有很多。一旦進(jìn)入生產(chǎn)環(huán)境,就很難說(shuō)代碼將如何使用,以及哪些其他代碼將附加到原始代碼中。五年后,未來(lái)的程序員可能會(huì)對(duì)你的代碼局限性感到沮喪。

編輯:石家莊新華電腦學(xué)校


常見(jiàn)問(wèn)題

熱招專(zhuān)業(yè)

在線報(bào)名


電話:400-900-8780

地址:河北省石家莊市橋西區(qū)南二環(huán)西路199號(hào),南二環(huán)與紅旗大街交叉口西行300米路北

冀ICP備11012044號(hào) | 版權(quán)所有:石家莊新華電腦學(xué)校

工信部備案管理系統(tǒng)網(wǎng)址:https://beian.miit.gov.cn/

  • 官方快手賬號(hào)

  • 官方視頻號(hào)

  • 官方公眾號(hào)

網(wǎng)站聲明:任何企業(yè)或者個(gè)人以任何形式復(fù)制或傳遞本網(wǎng)站所載述的域名商標(biāo)、文字、視像及聲音內(nèi)容、圖形及圖像應(yīng)當(dāng)注明來(lái)源于本網(wǎng)站

91国高清在线,2021亚洲精品无码在线,国产中文视频,精品国产一区二区三区AV片,尤物视频在线观看卡不卡,50岁老熟妇三级现频在线,亚洲动漫国产制服丝袜,97久久精品超碰