歡迎來(lái)到合肥浪訊網(wǎng)絡(luò)科技有限公司官網(wǎng)
  咨詢(xún)服務(wù)熱線(xiàn):400-099-8848

浪訊科技教你怎樣進(jìn)步編程技術(shù)

發(fā)布時(shí)間:2019-03-27 文章來(lái)源:本站  瀏覽次數(shù):2924

這是一篇為廣闊碼農(nóng)而產(chǎn)的干貨,浪訊科技要共享八個(gè)可進(jìn)步編程技術(shù)的行為準(zhǔn)則。

1.提醒自己得學(xué)習(xí)

學(xué)習(xí)的第一步是要認(rèn)識(shí)到,你不明白。由于不明白,所以才需求學(xué)習(xí)。這聽(tīng)上去很明顯,但有經(jīng)歷的程序員必定記住自己用了多長(zhǎng)時(shí)間才干做好這個(gè)心理建造。太多的計(jì)算機(jī)科學(xué)學(xué)生帶著一種傲慢結(jié)業(yè):“我懂得最多”,自以為是地認(rèn)為他們知道全部,并且有一種想要證明給每一個(gè)新搭檔看的強(qiáng)烈欲望。換句話(huà)說(shuō):這樣一種“我知道我懂我了解!”的情緒會(huì)成為阻止你學(xué)習(xí)新東西的絆腳石。

 

2.不要極力證明自己是對(duì)的

要成就巨大——而不只是優(yōu)異——你必須從經(jīng)歷中學(xué)習(xí)。但要小心,經(jīng)歷會(huì)讓咱們重復(fù)錯(cuò)誤的行為,養(yǎng)成壞習(xí)慣。咱們都遇到過(guò)有著8年經(jīng)歷的程序員……不斷說(shuō)自己的經(jīng)歷豐富,倚老賣(mài)老。為了防止一葉障目,你應(yīng)該回憶自己所做的全部,問(wèn)問(wèn)自己,“怎樣才干做得更好?”

新手軟件開(kāi)發(fā)人員(以及許多有經(jīng)歷的開(kāi)發(fā)人員)觀看他們自己的代碼是為了賞識(shí)它的精彩。他們編寫(xiě)測(cè)試是為了證明其代碼可作業(yè),而不是為了讓它失利。真實(shí)巨大的程序員會(huì)積極尋找他們錯(cuò)誤的當(dāng)?shù)亍捎谒麄冎溃罱K用戶(hù)必將會(huì)發(fā)現(xiàn)他們遺失的缺點(diǎn)。

3.“代碼可作業(yè)”不是你停步的標(biāo)志;而是你開(kāi)端的當(dāng)?shù)?/p>

是的,第一步是寫(xiě)出高質(zhì)量的軟件,滿(mǎn)意標(biāo)準(zhǔn)說(shuō)明。普通的程序員往往在這里就扔掉了,直接跳到下一件事。

可是就此當(dāng)作是“已經(jīng)完成”而停步,就像是拍了張照片就希望它成為一件藝術(shù)品相同荒謬可笑。巨大的程序員知道第一次迭代就只是第一次迭代罷了。能夠作業(yè)——那么恭喜你!——可是這不是結(jié)束。你還需求讓代碼變得更好。

一些流程界說(shuō)了何為“更好”。有沒(méi)有價(jià)值使其更快?文檔更簡(jiǎn)略?更可重用?更可靠?對(duì)于不同的運(yùn)用程序,這些問(wèn)題的答案也各不相同,可是這個(gè)流程是不變的。

4.寫(xiě)三遍

好的程序員編寫(xiě)可作業(yè)的軟件。而那些巨大的程序員編寫(xiě)的軟件運(yùn)轉(zhuǎn)起來(lái)極為出色。這很少是能夠一蹴即至的。最好的軟件通常要寫(xiě)三次:

首要,你寫(xiě)軟件是為了證明給自己(或客戶(hù))看該解決方案是或許的。其他人或許不會(huì)意識(shí)到這僅僅是一個(gè)證明型的概念,可是你知道。

第二,讓它作業(yè)起來(lái)。

第三,讓它正確作業(yè)。

這種程度的作業(yè)或許并不明顯,假如你去看那些最佳開(kāi)發(fā)人員的作業(yè)的話(huà)。他們做的全部都顯得如此才華橫溢,但你沒(méi)有看到的是,即使是明星開(kāi)發(fā)者,在將自己的軟件展示給他人看之前,或許也扔掉過(guò)第一次和第2次的版別。扔掉代碼重新開(kāi)端是一個(gè)能將“力求完美”歸入個(gè)人作業(yè)流程的好辦法。

假如不出意外,“寫(xiě)三遍”會(huì)告訴你許多解決問(wèn)題的辦法。它能夠防止你陷入困境。

5.閱覽代碼,閱覽許多代碼

你或許已經(jīng)聽(tīng)過(guò)這個(gè)主張,實(shí)際上這是進(jìn)步編程技巧最常見(jiàn)也是最有價(jià)值的主張?墒窃S多人不知道閱覽他人的代碼之所以如此重要的原因。

 

當(dāng)你閱覽他人的代碼時(shí),你要去看他人是怎樣解決問(wèn)題的。但不要把它當(dāng)作文學(xué)來(lái)看;把它當(dāng)做一個(gè)教訓(xùn),一個(gè)應(yīng)戰(zhàn)。為了變得更好,你得問(wèn)自己:

我會(huì)怎樣寫(xiě)那樣的代碼塊?在你看到另一種解決辦法之后,你有什么不同的做法?

我學(xué)到了什么?怎樣運(yùn)用那個(gè)技術(shù)到我曾經(jīng)寫(xiě)的代碼? (“我從來(lái)沒(méi)有想過(guò)在那里運(yùn)用遞歸下降……”)。

我要怎樣改進(jìn)這個(gè)代碼?假如它是一個(gè)開(kāi)源項(xiàng)目,而且你相信自己有一個(gè)更好的解決方案,那么就去做!

用作者的風(fēng)格寫(xiě)代碼。操練這個(gè)能夠協(xié)助你了解寫(xiě)軟件的那個(gè)人的思維。

不要光想不做。寫(xiě)下你的答案,不管是在個(gè)人日記,博客,代碼檢查過(guò)程中,仍是在開(kāi)發(fā)者社區(qū)論壇上。就像給朋友解說(shuō)問(wèn)題能夠協(xié)助你理清解決方案,寫(xiě)下并共享你的剖析也能夠協(xié)助你了解為什么你對(duì)他人的代碼會(huì)有這樣一種既定辦法的反響。這便是我前面提到的自省,自省能夠協(xié)助你冷靜地判別自己的長(zhǎng)處和矮處。

警告:閱覽很多的代碼很容易,但要憑此就成為一個(gè)巨大的程序員未免想入非非。許多開(kāi)發(fā)人員會(huì)通過(guò)開(kāi)源代碼或其他軟件來(lái)“找尋答案”,而大多數(shù)人的做法是,仿制和粘貼恰巧呈現(xiàn)的可解決類(lèi)似問(wèn)題的代碼。這樣做實(shí)際上是在讓你變成一個(gè)更差的程序員,由于你只是盲目地承受他人的智慧,而沒(méi)有消化吸收。

6.寫(xiě)代碼,而不僅僅是作為分配的任務(wù)

作業(yè)于個(gè)人編程項(xiàng)目有許多優(yōu)勢(shì)。首要,它供給了一個(gè)學(xué)習(xí)東西和技術(shù)的途徑,而這些東西和技術(shù)在你當(dāng)時(shí)的作業(yè)中是學(xué)不到的,可是這能讓你在找下一份作業(yè)時(shí)更有競(jìng)爭(zhēng)力。不管你是致力于開(kāi)源項(xiàng)目,仍是為當(dāng)?shù)氐纳鐓^(qū)組織供給無(wú)償?shù)膭趧?dòng),都能夠讓你添加技術(shù)技術(shù)和自信。

為了好玩而寫(xiě)代碼的另一個(gè)長(zhǎng)處是,它迫使你靠自己去搞清楚這些事情。你不能將難的那部分留給他人去做,所以它能夠防止你太快地向他人尋求協(xié)助。

小貼士:不要選擇那些你永遠(yuǎn)不會(huì)失利的個(gè)人項(xiàng)目。你需求失利!但你不會(huì)希望在作業(yè)中失利,或者當(dāng)項(xiàng)目有時(shí)間期限的時(shí)候。

7.盡或許一對(duì)一地和其他開(kāi)發(fā)人員合作

這有助于細(xì)心傾聽(tīng)他人的思路和主意。辦法能夠是結(jié)對(duì)編程,能夠是去參加編程馬拉松,也能夠是參加一個(gè)編程用戶(hù)群。當(dāng)你致力于一個(gè)開(kāi)源項(xiàng)目時(shí),要注意你從用戶(hù)和其他開(kāi)發(fā)人員那里得到的反應(yīng)。在他們的批判主張中有沒(méi)有什么共同點(diǎn)?

你或許會(huì)很幸運(yùn)地找到一個(gè)能夠信任的個(gè)人導(dǎo)師,他會(huì)輔導(dǎo)你從編碼技術(shù)到職業(yè)決議的所有東西。不要浪費(fèi)這些機(jī)會(huì)。

8.學(xué)習(xí)技術(shù),而不是東西

編程言語(yǔ)、東西和辦法改動(dòng)不定。這便是為什么咱們要積累盡或許多的經(jīng)歷,運(yùn)用盡或許多的言語(yǔ)和框架。專(zhuān)注于編程基礎(chǔ),由于基礎(chǔ)知識(shí)永遠(yuǎn)不會(huì)改動(dòng):要更重視結(jié)構(gòu),而不是編程。假如你覺(jué)得只要一種干事的正確辦法,那么或許是時(shí)候?qū)崙?zhàn)查驗(yàn)了。教條會(huì)阻止你學(xué)習(xí)新事物的能力,一起要試著讓自己漸漸習(xí)慣改動(dòng)。

還有許多,可是自我進(jìn)步的一個(gè)關(guān)鍵原則是知道何時(shí)停止。

上一條:我國(guó)網(wǎng)站干流盈利模式剖析...

下一條:論壇建造的重中之重:用戶(hù)...