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

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

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

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

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

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

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

要成果巨大——而不僅僅優(yōu)異——你有必要從經(jīng)歷中學(xué)習(xí)。但要當(dāng)心,經(jīng)歷會(huì)讓我們重復(fù)過(guò)錯(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àn)是為了證明其代碼可作業(yè),而不是為了讓它失利。真實(shí)巨大的程序員會(huì)活躍尋覓他們過(guò)錯(cuò)的當(dāng)?shù)亍捎谒麄冎,最終用戶必將會(huì)發(fā)現(xiàn)他們遺失的缺陷。

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

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

可是就此當(dāng)作是“現(xiàn)已完結(jié)”而停步,就像是拍了張照片就期望它成為一件藝術(shù)品一樣荒謬可笑。巨大的程序員知道第一次迭代就僅僅第一次迭代罷了。能夠作業(yè)——那么祝賀你!——可是這不是完畢。你還需求讓代碼變得更好。

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

4.寫(xiě)三遍

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

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

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

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

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

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

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

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

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

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

我學(xué)到了什么?怎樣運(yùn)用那個(gè)技能到我曾經(jīng)寫(xiě)的代碼? (“我從來(lái)沒(méi)有想過(guò)在那里運(yù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ì)有這樣一種既定方式的反響。這就是我前面說(shuō)到的自省,自省能夠協(xié)助你冷靜地判別自己的利益和矮處。

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

6.寫(xiě)代碼,而不僅僅是作為分配的使命

作業(yè)于個(gè)人編程項(xiàng)目有許多優(yōu)勢(shì)。首先,它提供了一個(gè)學(xué)習(xí)東西和技能的途徑,而這些東西和技能在你當(dāng)時(shí)的作業(yè)中是學(xué)不到的,可是這能讓你在找下一份作業(yè)時(shí)更有競(jìng)爭(zhēng)力。不管你是致力于開(kāi)源項(xiàng)目,仍是為當(dāng)?shù)氐纳鐓^(qū)安排提供無(wú)償?shù)膭谧鳎寄軌蜃屇闾砑蛹寄芗寄芎妥孕拧?/p>

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

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

7.盡可能一對(duì)一地和其他開(kāi)發(fā)人員協(xié)作

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

你或許會(huì)很幸運(yùn)地找到一個(gè)能夠信賴的個(gè)人導(dǎo)師,他會(huì)輔導(dǎo)你從編碼技能到職業(yè)決議的一切東西。不要糟蹋這些時(shí)機(jī)。

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

編程言語(yǔ)、東西和辦法改動(dòng)不定。這就是為什么我們要積累盡可能多的經(jīng)歷,運(yùn)用盡可能多的言語(yǔ)和結(jié)構(gòu)。專心于編程根底,由于根底知識(shí)永久不會(huì)改動(dòng):要更重視結(jié)構(gòu),而不是編程。如果你覺(jué)得只要一種干事的正確辦法,那么可能是時(shí)分實(shí)戰(zhàn)查驗(yàn)了。教條會(huì)阻止你學(xué)習(xí)新事物的才能,一起要試著讓自己漸漸習(xí)慣改動(dòng)。

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

上一條:插畫(huà),手繪,這些能為你的...

下一條:營(yíng)銷(xiāo)、公關(guān)、廣告,你把它...