<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    java 記錄

    學(xué)習(xí)java

    2008年7月7日

    10個秘訣讓程序員由初級進階中級

    Justin James曾發(fā)表過一篇博文《10 tips for advancing from a beginner to an intermediate developer》,為我們分享如何才能完成程序員從初級到中級的蛻變,現(xiàn)將中文譯文轉(zhuǎn)載于此,供大家借鑒。

           在一封與TechRepublic會員交流的郵件當(dāng)中,他提到了面向程序員的博客、文章及雜志分成兩類:面向初學(xué)者類(“hello world”這種類型的教程)以及面向?qū)<翌悾∕SDN雜志)。這個觀點很好,有關(guān)程序員如何從初級躍升到中級的信息極少。以下是為了實現(xiàn)這種轉(zhuǎn)變需要你去做的10件事。

    1.學(xué)習(xí)另一門語言

           其實你學(xué)的是哪一門語言并沒有關(guān)系,但是學(xué)習(xí)另一門語言(不管你已經(jīng)了解多少種語言)將把你打造為更好的程序員。能學(xué)會一門與你日常使用的語言風(fēng)格迥異的語言則更佳。打個比方,如果你是C#程序員,學(xué)習(xí)VB.NET或者Java對你的幫助就沒有學(xué)習(xí)Ruby或者Groovy大。

           我說“學(xué)另一門語言”的意思是要真正學(xué)會它。學(xué)習(xí)一門語言包括三個領(lǐng)域的知識:語法、內(nèi)置操作符和庫,以及“如何使用”。前面兩個簡單;我認(rèn)為一名有經(jīng)驗的程序員,根據(jù)語言的不同,能在半小時到幾小時內(nèi)掌握足以維護代碼的語法知識。操作符和庫只不過是知識逐步積累的過程,你什么時候想清楚要了解什么了,再去查閱參考材料也不遲。只有第三項,“如何使用它”-要花上你幾個月的時間去跟這門語言打交道,真正的奇跡就在此發(fā)生。我建議用這門語言的風(fēng)格去做一個適合該語言的項目。

           真正學(xué)會了另一門語言之后,我敢保證你的程序員水平一定會突飛猛進。

    2.學(xué)習(xí)先進的搜索技術(shù)、手段和及策略

           作為一名好的程序員,不僅僅是技能的問題了,而是你尋找信息的技巧,這個趨勢越來越明顯。對大部分人而言,僅僅輸入“現(xiàn)代語言及開發(fā)框架”,這都是泛泛之談,記不住多少的。因此,你完成工作的能力通常取決于你的檢索能力。不幸的是,了解到如何找到準(zhǔn)確而高質(zhì)量的信息可不僅僅是跑到TechRepublic來找答案,或者在你選好的搜索引擎上敲幾個字那么簡單。

           “技術(shù)(Techniques)”、“手段(tactics)”和“策略(strategies)”看起來是一回事,實際上并非如此。你需要學(xué)會的技術(shù)是掌握你喜愛的搜索引擎的高級搜索系統(tǒng);你需要了解諸如布爾操作符,如何過濾結(jié)果(像“非”關(guān)鍵字,域限制等等),關(guān)鍵字的詞序扮演什么角色,等等。一句話,RTFM(Read The Fucking Manual,讀那些他媽的手冊)吧。

           你應(yīng)該學(xué)會這些手段,諸如如何接近特定的搜索,以及了解自己實際上想查些什么。查錯誤很容易—只需查出錯代碼即可—但是許多搜索的關(guān)鍵字選擇要困難得多。

           至于策略,你需要學(xué)會的東西,包括像應(yīng)該使用哪種搜索引擎(提示:普通的搜索引擎不一定就是最佳選擇),使用普通搜索引擎前應(yīng)該訪問哪個網(wǎng)站,甚至是應(yīng)該到哪個論壇去尋求幫助,等等。

    3.幫助別人

           教別人始終是學(xué)習(xí)一切東西的最好方法之一。相對而言,由于你在開發(fā)領(lǐng)域還是個新手,認(rèn)為自己沒什么可教給人家的,這可以理解。但這毫無意義。記住,你所學(xué)到的一切都是你從別人或別處學(xué)到的;因此請嘗試一下,成為另外一個人要請教的“別人”。每天盡量花一點時間試著回答TechRepublic上的問題,其他網(wǎng)站的亦可。讀讀其他會員的回答,你也可以學(xué)到很多東西。

    4.有耐心,常練習(xí)

           研究表明,要成為一名“專家”,需要花費10年,或者10000到20000小時的刻意練習(xí)時間。真的很久。還有,成為專家不盡然就是執(zhí)行10年同樣的任務(wù);通常這意味著要在特定領(lǐng)域內(nèi)執(zhí)行廣泛的任務(wù)。需要花費大量的時間和精力才能成為“專家”;做幾年程序員是不夠的。想在30歲左右成為一名高級軟件開發(fā)工程師?要么盡早接受教育/培訓(xùn),要么你得愿意在閑暇時間進行大量的工作、閱讀和練習(xí)。我從高中開始編程,還犧牲了許多休息時間去跟蹤行業(yè)發(fā)展、學(xué)習(xí)新技能等等。結(jié)果,我獲得中級和高級程序員的時間就比我的大部分同事都要早得多,隨著時間的推移,這些就轉(zhuǎn)化成為很多的金錢。

    5.對教條拒之門外

           是時候開誠布公了:也許初級程序員了解的東西還不足以說出做某件事情有一種最好的方式。尊重朋友或者權(quán)威的觀點是好的,但直到你更有經(jīng)驗之前,不要把他們的觀點說成是你自己的。很簡單,如果你所了解的不足以讓你獨立地找出這些東西來,你又怎么會認(rèn)為你知道哪一位“專家”是對的呢?話是難聽了點,不過請相信我;由于受某些愚蠢建議的蠱惑,或者追隨某些根本不知道自己在說些什么的所謂專家,白白把自己的職業(yè)生涯耽擱了幾年,這樣毛頭小伙程序員,我見過多了。這一點有一個很好的例子,就是面向?qū)ο蠼Y(jié)構(gòu)的濫用。比如說,許多初級者讀了一些有關(guān)面向?qū)ο蟮男畔⒑螅蝗婚g,他們那簡單的應(yīng)用程序的類圖看起來就像埃菲爾鐵塔一樣了。

    6.深入學(xué)習(xí)一點先進理念

           成為一名中級程序員,很大一部分是要在代碼里面體現(xiàn)出一些所擅長的概念。就我而言,是多線程/并行性,是正則表達式,以及如何對動態(tài)語言進行變化(后兩個在我離Perl漸行漸遠后開始退化)。這是如何發(fā)生的?多線程和并行處理是因為我讀了相關(guān)文章,覺得它看起來很有趣,然后再自己把它弄清楚了;然后我就一直使用這些技術(shù)來寫應(yīng)用。我做過一件工作,是用Perl寫的,里面運用了大量的正則表達式。我也用一個過程引擎模板和內(nèi)置數(shù)據(jù)庫系統(tǒng)寫過我自己的電子商務(wù)引擎;那時我?guī)缀趸?年時間在這上面。

           找到真正令你著迷的東西。也許是圖像處理,也許是數(shù)據(jù)庫設(shè)計,等等。即便你是一個入門級的程序員,也要嘗試一下成為某一自己所關(guān)注領(lǐng)域的專家。這會讓你相當(dāng)快速地進入到中級水平,一旦你到了那個水平,你的專家之路也走到一半了。

    7.學(xué)習(xí)你的領(lǐng)域里面的基本理論

           寫出“Hello World”,跟理解那些字是如何顯示到屏幕上的是兩碼事。通過學(xué)習(xí)支撐你所從事的工作的“基礎(chǔ)/底層工作(groundwork)”,你會變得更加在行。為什么?因為你會理解事物為何會以這種方式運作,當(dāng)東西壞了就能知道是哪里的問題,等等。通過掌握工作的底層機制,你變會得更出色。

           如果你是Web程序員,讀讀HTTP RFC和HTML規(guī)范。如果你使用代碼生成器,好好看看它生成的代碼;如果你使用數(shù)據(jù)庫工具,看看它生成的底層SQL語句,不一而足。

    8.看看高級程序員的代碼

           在工作中看看高級程序員寫的代碼,然后問一問事情是如何以某種特別的方式完成的,為什么?可能的話看看開源的項目。甚至即使其他程序員沒有最好的編程習(xí)慣,你也會學(xué)到許多編程經(jīng)驗。當(dāng)然,要小心別學(xué)到壞習(xí)慣。我的意思是說不要生搬硬套人家的東西;你要能領(lǐng)會到哪些是能行的通的,哪些是有道理的,然后再模仿人家。

    9.學(xué)習(xí)好的習(xí)慣

           愚蠢的變量名,糟糕的縮進習(xí)慣以及其他一些凌亂的跡象就是一個沒有經(jīng)驗的程序員的最好標(biāo)記。一個程序員在學(xué)會如何編程時,卻經(jīng)常沒有被傳授到那些不那么有趣的細(xì)節(jié),像代碼格式編排。甚至盡管學(xué)習(xí)這些東西并不會令你的代碼更好,也不會令你成為更好的程序員,它也會確保你不被同事視為入門級的程序員。甚至即使某人是高級程序員,如果他的變量是以他那97只貓的名字來命名,或者其函數(shù)叫做“doSomething()”的,他們看起來也不像是知道自己在干什么的人。而且會令其代碼在過程中更難以維護。

    10.要玩的開心

           想要癡迷于單調(diào)乏味的工作?痛恨工作吧。要想升級為中級程序員可不僅僅是為了拿到不斷增長的工資不達目的誓不罷休,而是要真正享受工作。如果你不喜歡自己的工作,且還是初級程序員,你怎么會認(rèn)為成為中級或高級程序員情況就會有所好轉(zhuǎn)呢?換工作或改職業(yè)吧。反過來說,如果你喜愛所從事的工作,那就好!只要你堅持下去,我保證你能成為一名更好的程序員。

    posted @ 2008-07-07 17:30 啊飛 閱讀(203) | 評論 (0)編輯 收藏

    僅列出標(biāo)題  
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導(dǎo)航

    統(tǒng)計

    常用鏈接

    留言簿(1)

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    主站蜘蛛池模板: 91精品导航在线网址免费| 国产精品免费视频一区| 天天爽亚洲中文字幕| 小小影视日本动漫观看免费| xxxxx做受大片在线观看免费| 亚洲成色www久久网站夜月| 18勿入网站免费永久| 粉色视频免费入口| 亚洲国产精品一区二区久久| 女人被男人躁的女爽免费视频| CAOPORM国产精品视频免费| 亚洲乱码无限2021芒果| 亚洲午夜激情视频| 久久精品国产免费观看| 国产成人 亚洲欧洲| 久久综合亚洲色一区二区三区| 一区二区三区亚洲视频| 91短视频免费在线观看| 国产成人无码精品久久久久免费 | 亚洲Av永久无码精品黑人 | 久久精品国产亚洲av影院| 国产免费131美女视频| 久久A级毛片免费观看| av电影在线免费看| 亚洲日韩av无码中文| 亚洲av无码专区在线播放 | 四虎永久在线免费观看| 在线看片韩国免费人成视频| 国产精品偷伦视频免费观看了| 亚洲色大成网站www永久网站| 亚洲另类激情综合偷自拍| 亚洲一区二区精品视频| 全免费a级毛片免费看无码| 亚洲黄色免费观看| 你好老叔电影观看免费| 相泽南亚洲一区二区在线播放| 亚洲国产成人精品久久| 亚洲综合无码一区二区| 久久国产精品亚洲综合| 亚洲中文字幕在线第六区| 成人伊人亚洲人综合网站222|