成為優(yōu)秀程序員的10個(gè)有效方法

一個(gè)優(yōu)秀的程序員就是那種即使是過單行道都要往兩邊看的人端盆〖榍纾——Doug Linder

作為一個(gè)在IT行業(yè)的軟件程序員,每天促使我去上班的動(dòng)力就是對編程的樂趣和激情藏研。但是為了激發(fā)樂趣并獲得永恒的快感漠嵌,我們需要學(xué)習(xí)和遵守一些基礎(chǔ)知識以成為一名優(yōu)秀的程序員咐汞。

當(dāng)然我總結(jié)的這些東西沒有那么神盖呼,你說你要想學(xué)了之后就一定可以成為優(yōu)秀程序員,那是不可能的化撕。這只是從我的經(jīng)驗(yàn)角度出發(fā)提供的一些捷徑几晤。對于優(yōu)秀程序員的定義,此處可以理解為能開發(fā)出超棒的IT解決方案并且能促進(jìn)行業(yè)整體發(fā)展的程序員植阴。

1.掌握基礎(chǔ)知識

不管任何行業(yè)和任何工作蟹瘾,概念的理解都是成功的關(guān)鍵。除非你有強(qiáng)大的概念基礎(chǔ)掠手,否則就不可能成為一名優(yōu)秀的程序員憾朴。核心概念的理解有助于你用最佳的方式設(shè)計(jì)和實(shí)施解決方案。如果你覺得你現(xiàn)在還沒有好好掌握關(guān)于核心計(jì)算機(jī)科學(xué)和編程語言的特定概念喷鸽,那么現(xiàn)在回過頭去重新學(xué)習(xí)這些基礎(chǔ)知識猶未晚矣众雷。

2.給自己寫的每個(gè)代碼集都貼上標(biāo)簽(how,what)

我發(fā)現(xiàn)區(qū)分程序員優(yōu)劣的一條很明顯的分割線就是做祝,是否有這個(gè)熱情去知道"what and how"砾省。有的程序員對于自己的代碼是如何執(zhí)行的以及執(zhí)行結(jié)果等知道得一清二楚。我也理解有時(shí)候因?yàn)闀r(shí)間緊迫剖淀,我們不得不在只知道這些代碼可以完成工作的情況下就立刻進(jìn)行下一步纯蛾。雖然這對解決問題而言,似乎是另一個(gè)方向的話題纵隔,但是作為一個(gè)程序員翻诉,我們應(yīng)該盡可能地深入研究問題以達(dá)到最高水平。相信我捌刮,隨著時(shí)間的推移碰煌,你會(huì)在不知不覺中養(yǎng)成這個(gè)好習(xí)慣,然后受益無窮绅作。芦圾。

3.通過幫助他人從而學(xué)到更多

可能我們中的大多數(shù)人只有在自己需要幫助的時(shí)候才會(huì)上論壇和群。有一條區(qū)別程序員是否優(yōu)秀的分割線就是俄认,優(yōu)秀者經(jīng)常會(huì)去這些地方以幫助他人个少。而且他們在幫助別人的同時(shí),自己也能學(xué)到很多東西眯杏。如果是在一個(gè)團(tuán)隊(duì)中夜焦,也應(yīng)該互相幫助。相信我岂贩,理解別人的問題背景茫经、研究并提出解決方案會(huì)讓你學(xué)到的更多,成長的更快。

4.代碼要寫得簡單卸伞、易懂抹镊、有邏輯

正如在生活中其他方面一樣,KISS(Keep it simple and short)規(guī)則同樣適用于編程領(lǐng)域荤傲。代碼要有邏輯垮耳,避免過于復(fù)雜。有些人之所以要將代碼寫得那么復(fù)雜只是為了證明自己有寫復(fù)雜代碼的能力弃酌。但是我的經(jīng)驗(yàn)告訴我氨菇,簡單且邏輯化的代碼才能有效工作,不但問題少而且更易擴(kuò)展妓湘。我記得有這么一句話

好的代碼本身就是最好的文檔查蓉。在你要添加注釋之前,先問問自己榜贴,"我怎么改進(jìn)代碼豌研,才能不需要寫這個(gè)注釋?"——Steve McConnell

5.多花時(shí)間分析問題唬党,后面就可以少花時(shí)間去修復(fù)

多花點(diǎn)時(shí)間用來理解和分析問題鹃共,設(shè)計(jì)出最優(yōu)的解決方案,然后你會(huì)發(fā)現(xiàn)接下來的工作將事半功倍驶拱。設(shè)計(jì)過程并不意味著一定要使用建模語言和工具霜浴,也可以很簡單,例如抬頭仰望天空蓝纲,然后在腦子里來一場頭腦風(fēng)暴阴孟。那些一拿到問題就習(xí)慣性去噼里啪啦寫代碼的程序員,最后拿出來的成果往往會(huì)與要求的不同税迷。

你如果在洗澡的時(shí)候腦子里還沒有程序的整體結(jié)構(gòu)永丝,那就意味著還沒有做好開工寫代碼的準(zhǔn)備〖——Richard Pattis

6.第一個(gè)分析審核自己的代碼

雖然有點(diǎn)困難慕嚷,但是在其他人發(fā)現(xiàn)之前自己先知道問題的所在,能讓你學(xué)會(huì)如何寫出"接近于無bug"的代碼毕泌。自己對自己的代碼審核要公正嚴(yán)謹(jǐn)喝检,也要能毫無猶豫地接受他人的審核。近朱者赤撼泛,與優(yōu)秀的程序員一起工作蛇耀,積極聽取他們的反饋,必然也會(huì)幫助你成為一名優(yōu)秀的程序員坎弯。

7.面對日新月異的技術(shù)千萬不要沮喪

最近一段時(shí)間在IT行業(yè)里,我碰到的很多人——要么念叨著對他們的工作失望了,要么甚至于已經(jīng)辭職在找新工作了——都一致表示抠忘,他們想要學(xué)習(xí)并使用最新的技術(shù)撩炊。對于這個(gè)愿望我認(rèn)為可以理解,但是這個(gè)詞"最新的"崎脉,我覺得不甚正確拧咳。我們每天都能聽到有人在說"現(xiàn)在又出來什么新的工具、API囚灼、框架和其他方法等"可以使得編程工作更加的簡捷骆膝。這在技術(shù)領(lǐng)域其實(shí)一直在發(fā)生。真正需要我們?nèi)リP(guān)注和理解的是核心和基本技術(shù)的轉(zhuǎn)變灶体,在這個(gè)基礎(chǔ)上再去看新的框架阅签、工具和API。舉個(gè)例子蝎抽,在很多Java公司可能每隔一周就會(huì)換上新的web框架政钟,但是其基于客戶端—服務(wù)端通信模式的需求方式、MVC模式樟结、filters/servlets/JSP养交、資源綁定、XML解析等核心概念依然是相同的瓢宦。所以碎连,與其時(shí)刻擔(dān)心框架和工具的變化,還不如花點(diǎn)時(shí)間好好學(xué)習(xí)這些核心概念驮履。相信我鱼辙,在理解這些核心概念的基礎(chǔ)上,我們才可以更快地掌握新的框架疲吸、工具和API座每。

8.應(yīng)急措施并不能長久有效

很多時(shí)候,軟件程序員可能會(huì)采取應(yīng)急和變通的解決方案(或因?yàn)闀r(shí)間緊迫摘悴,或缺乏對問題的深刻認(rèn)識峭梳,或技術(shù)經(jīng)驗(yàn)不足)。但是蹂喻,這些應(yīng)急方案會(huì)破壞代碼葱椭,導(dǎo)致其后期很難擴(kuò)展和維護(hù)。我能理解口四,有的時(shí)候這種情況真的很難避免孵运,但是就像我們都應(yīng)該講實(shí)話一樣,你講了謊話蔓彩,那就得知道謊言總有戳穿的那一天治笨。

9.閱讀文檔

優(yōu)秀程序員的基本習(xí)慣之一就是閱讀大量的文檔驳概,技術(shù)指標(biāo)、JSR旷赖、API文檔顺又、教程等等。閱讀文檔為我們用最好的方式編程打下了必需的基石等孵。

10.學(xué)習(xí)他人的代碼

我非常喜歡與那些在IDE里有java源代碼的優(yōu)秀程序員交流互動(dòng)稚照,閱讀/參考他們的代碼。因?yàn)檫@么做不但能了解基本知識俯萌,還可以學(xué)會(huì)寫項(xiàng)目的新方法果录。閱讀和參考一些可靠和已知的開放源碼或者自己的高級代碼,也有助于我們更好地編程咐熙。

最后一點(diǎn)弱恒,前面沒有列進(jìn)去的:不要和別人比

俗話說,人比人糖声,氣死人斤彼,拿自己與別人作比較只會(huì)導(dǎo)致負(fù)面情緒,并演變成不良競爭蘸泻。尺有所短寸有所長琉苇,每個(gè)人都有自己的長處和短處。我看到過很多次一些所謂的特別牛叉的程序員也會(huì)犯一些很愚蠢的錯(cuò)誤悦施。所以并扇,剖析自己,列出不足之處抡诞,努力改進(jìn)自己穷蛹,才是正途。

編程是一種真正的樂趣昼汗,歡迎樂在其中肴熏。

"任何一個(gè)傻瓜,都寫得出能讓計(jì)算機(jī)理解的代碼顷窒,但是蛙吏,優(yōu)秀程序員寫出來的代碼,能讓全人類理解鞋吉。"——Martin Fowler

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鸦做,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子谓着,更是在濱河造成了極大的恐慌泼诱,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,686評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赊锚,死亡現(xiàn)場離奇詭異治筒,居然都是意外死亡屉栓,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,668評論 3 385
  • 文/潘曉璐 我一進(jìn)店門耸袜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來系瓢,“玉大人,你說我怎么就攤上這事句灌。” “怎么了欠拾?”我有些...
    開封第一講書人閱讀 158,160評論 0 348
  • 文/不壞的土叔 我叫張陵胰锌,是天一觀的道長。 經(jīng)常有香客問我藐窄,道長资昧,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,736評論 1 284
  • 正文 為了忘掉前任荆忍,我火速辦了婚禮格带,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘刹枉。我一直安慰自己叽唱,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,847評論 6 386
  • 文/花漫 我一把揭開白布微宝。 她就那樣靜靜地躺著棺亭,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蟋软。 梳的紋絲不亂的頭發(fā)上镶摘,一...
    開封第一講書人閱讀 50,043評論 1 291
  • 那天,我揣著相機(jī)與錄音岳守,去河邊找鬼凄敢。 笑死,一個(gè)胖子當(dāng)著我的面吹牛湿痢,可吹牛的內(nèi)容都是我干的涝缝。 我是一名探鬼主播,決...
    沈念sama閱讀 39,129評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼蒙袍,長吁一口氣:“原來是場噩夢啊……” “哼俊卤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起害幅,我...
    開封第一講書人閱讀 37,872評論 0 268
  • 序言:老撾萬榮一對情侶失蹤消恍,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后以现,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體狠怨,經(jīng)...
    沈念sama閱讀 44,318評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡约啊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,645評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了佣赖。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片恰矩。...
    茶點(diǎn)故事閱讀 38,777評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖憎蛤,靈堂內(nèi)的尸體忽然破棺而出外傅,到底是詐尸還是另有隱情,我是刑警寧澤俩檬,帶...
    沈念sama閱讀 34,470評論 4 333
  • 正文 年R本政府宣布萎胰,位于F島的核電站,受9級特大地震影響棚辽,放射性物質(zhì)發(fā)生泄漏技竟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,126評論 3 317
  • 文/蒙蒙 一屈藐、第九天 我趴在偏房一處隱蔽的房頂上張望榔组。 院中可真熱鬧,春花似錦联逻、人聲如沸搓扯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,861評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽擅编。三九已至,卻和暖如春箫踩,著一層夾襖步出監(jiān)牢的瞬間爱态,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,095評論 1 267
  • 我被黑心中介騙來泰國打工境钟, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留锦担,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,589評論 2 362
  • 正文 我出身青樓慨削,卻偏偏與公主長得像洞渔,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子缚态,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,687評論 2 351

推薦閱讀更多精彩內(nèi)容