作者:Esther Schindler 翻譯:Vincent
是時候開始認(rèn)真考慮一下如何升級你的開發(fā)技術(shù)了。讓我們來認(rèn)真地學(xué)習(xí)一下吧。 給自己設(shè)定一個提高開發(fā)技術(shù)的目標(biāo)很容易,但是“想成為一名偉大的程序員”卻不是一個容易實現(xiàn)的目標(biāo)。首先,說“我想變得更好”,是建立在你認(rèn)識到“更好”的樣子基礎(chǔ)之上。另外,有太多的人追求進(jìn)步而不知道如何去實現(xiàn)。 因此,讓我分享八個可實際操作的指導(dǎo)方針,你可以把它們作為提高編程技能的流程圖。這些智慧都是伴隨著計算機(jī)35年的發(fā)展沉淀下來的。 1. 時刻提醒自己:學(xué)習(xí) 學(xué)習(xí)某件事的第一步是承認(rèn)你不知道。這聽起來很正常,但經(jīng)驗豐富的程序員還記得要真正讓自己承認(rèn)這一點需要花多長時間。很多計算機(jī)科學(xué)專業(yè)的學(xué)生畢業(yè)的時候,都有一種很傲慢的態(tài)度,就是“我知道最好的”,但其實這只是一種虛張聲勢,他們不知道從哪里來的自信,就好像他們什么都知道,并且需要向每一位新同事強(qiáng)烈的證明這一點。換句話說:你所謂的“我知道我在做什么!”這種態(tài)度會妨礙你學(xué)習(xí)新的東西。 2. 不要試圖證明自己是正確的 要想成為優(yōu)秀的人,你必須學(xué)會吃一塹長一智。但是千萬小心,經(jīng)驗也可能教會我們重復(fù)一些不良行為,甚至也教會我們養(yǎng)成一些不好的習(xí)慣。我們都遇到過有8年經(jīng)驗的程序員。對于他們來說,同樣的經(jīng)歷,重復(fù)了8次。為了避免這種綜合癥,看看你做的每一種事情,然后問自己:“我怎樣才能讓它變得更好?” 新手(以及很多經(jīng)驗豐富的開發(fā)人員)會看著他們自己寫的代碼,欣賞它的奇妙。他們編寫測試來證明他們寫的代碼是可以運(yùn)行的,而不是試圖讓它運(yùn)行失敗。真正優(yōu)秀的程序員會積極地尋找他們的錯誤在哪里,因為他們知道最終用戶會發(fā)現(xiàn)這些遺漏的bug。 3. “代碼可以運(yùn)行了”這個目標(biāo)不是終點,而是起點 是的,你的第一步總是想寫出質(zhì)量很高的代碼,而且代碼上面都寫滿了注釋。但是一般的程序員在這一點上就退出,然后繼續(xù)下一件事。 但是一旦“完成”就停止了這種思想就像是拍一張快照,然后期待它是一件藝術(shù)品一樣。偉大的程序員都知道第一次迭代只是一次迭代。它運(yùn)行起來了,恭喜你!但你的工作還有很多?,F(xiàn)在,使它變的更好。 其實這個過程就是在定義“更好”的含義。讓它變得更快能有什么價值嗎?可重用更高有什么好處嗎?更可靠嗎?答案隨著每個應(yīng)用程序的不同而不同,但是過程都是一樣的。 4. 寫三次代碼 好的程序員目標(biāo)是寫出可以運(yùn)行的軟件就可以了。偉大的程序員寫出來的軟件目標(biāo)是運(yùn)行得非常好。通過一次編寫這種情況幾乎不可能發(fā)生。最好的軟件通常被寫三次:
當(dāng)你看到最優(yōu)秀的開發(fā)人員的工作時,這種級別的工作可能并不明顯。他們所做的一切看起來都很出色,但你沒有看到的是,即使是開發(fā)界的大腕兒,也可能在向其他人展示他們的軟件之前就已經(jīng)拋棄了第一個和第二個版本。拋棄之前的代碼并開始編寫另一個版本是一種強(qiáng)大的方式,可以將“更好地”融入到您的個人工作流程中。 如果沒有其他情況,通過“寫三次代碼”可以告訴你解決問題的方法有多少種。而且它可以防止你陷入停滯不前的狀態(tài)。 5. 閱讀大量的代碼 你可能希望我能夠引導(dǎo)這個建議,實際上,這也是提高編程技能的最常見和最有價值的建議。閱讀他人代碼的原因也很重要,只是不是很明顯而已。 當(dāng)閱讀其他人的代碼時,你會看到其他人是如何解決編程問題的。但不要把它當(dāng)成是文學(xué)作品,而是把它當(dāng)成一種教訓(xùn)和一種挑戰(zhàn)。想要變得更好,問問自己:
|
|
來自: 戴佳霖 > 《程序開發(fā)》