來源:我是開發(fā)經(jīng)理 2018-06-14 10:53:46
我之所以喜歡Steve開出的這個清單,是因為它看上去很全面。有些程序員一想到“鍛煉”,總認(rèn)為就是一些編碼上的難題。但在我看來,編程更在于人,而不是代碼。因此,通過解決世上所有的、并且晦澀的編程面試題目,在提高你的個人能力方面,這種方法是有局限的。
關(guān)于“努力的學(xué)習(xí)”,我也很喜歡PeterNorvig在“Teach Yourself Programming in TenYears”(花10年時間自學(xué)編程)一文中提出的諸多建議:
1.與別的程序員交流。讀別人的代碼。這比任何書籍或培訓(xùn)課程都更重要。
2.動手寫程序!最好的學(xué)習(xí)方法就是邊做邊學(xué)。
3.在本科或研究生的課程中學(xué)習(xí)編程課程。
4.找一些項目來做,并且需要與其他程序員形成團(tuán)隊來合作。在項目的進(jìn)行過程中,學(xué)會辨別最出色的程序員以及最糟糕的程序員。
5.在項目中跟隨別的程序員一起工作,了解如何維護(hù)那些不是你寫的代碼,并且學(xué)習(xí)如何寫出利于他人維護(hù)的代碼。
6.學(xué)習(xí)多種不同的編程語言,特別是那些與你現(xiàn)在所熟悉的語言有著不同的世界觀和編程模型的。
7.了解硬件對軟件的影響。知道你的電腦執(zhí)行一條指令需要多少時間,從內(nèi)存中取出一個字(在有緩存或沒緩存的情況下)需要多少時間,在以太網(wǎng)(或者因特網(wǎng))上傳輸數(shù)據(jù)需要多少時間,從磁盤中讀取連續(xù)的數(shù)據(jù)或者在磁盤上跳轉(zhuǎn)到另一個位置需要多少時間,等等。
你還可以從Dave Thomas的21種實用的編碼套路中獲取靈感(CodeKata.com),或者你更愿意加入一個你家當(dāng)?shù)氐?ldquo;編程武館”(CodingDojo.org)。
對于“努力的學(xué)習(xí)”,我無法像Steve,Peter或者Dave那樣提供一個長長的建議列表。我遠(yuǎn)不如他們有耐心。實際上,在我看來,“編程套路”只需兩個招式:
1.寫博客。我在2004年初創(chuàng)辦了CodingHorror.com博客,作為我自己努力學(xué)習(xí)的一種形式。它在一開始很不起眼,到后來成為我職業(yè)生涯中做過的最重要的一件事。所以,你也應(yīng)該寫博客。最后“聞達(dá)于天下”的人,往往就是那些能夠有效書寫和溝通的人。他們的聲音最響亮,是他們在制定游戲規(guī)則,并且引領(lǐng)世界的潮流。
2.積極參與著名的開源項目。所有的高談闊論聽起來都很好,但是,你是一個大話王還是一名實干家呢?別光說不練,這個非常重要,因為人們會用你的行動來衡量你,而不是你的言論。努力在公眾面前留下些實實在在有用的東西吧,到時候你就可以說,“我在那個項目中出過力。”
當(dāng)你能編寫精彩的代碼、并且能用精彩的言辭向世人解釋那些代碼時,到那時候,我會覺得你已經(jīng)掌握了最牛的編碼套路!
相關(guān)推薦:
小升初試題、期中期末題、小學(xué)奧數(shù)題
盡在奧數(shù)網(wǎng)公眾號
歡迎使用手機(jī)、平板等移動設(shè)備訪問幼教網(wǎng),幼兒教育我們一路陪伴同行!>>點擊查看