成為優(yōu)秀程序員的有效方法
當(dāng)前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
優(yōu)秀的程序員是在穿過一條單行道的時候還會往兩邊看的人。
作為一個IT行業(yè)的軟件程序員,每天驅(qū)使我們?nèi)諒?fù)一日的辛勤工作的,是來自我們對編程的興趣和激情。但是要讓編程變得始終有趣,我們必須學(xué)會堅持某些成為優(yōu)秀程序員的基本原則。 我并不是要寫出一些咒語,你照著執(zhí)行就可以成為一個優(yōu)秀程序員了。我的目的是想記錄下我學(xué)習(xí)到的和用過的一些有用的經(jīng)驗,它們幫助我獲得比較好的結(jié)果。對于優(yōu)秀程序員是沒有明確定義的,這里我們指的是那些創(chuàng)造出了優(yōu)秀IT解決方案的以及幫助這個行業(yè)增長的那些人。 0. 掌握基礎(chǔ) yixieshi.com 對于任何行業(yè)任何工作來說,融會貫通是獲得成功的關(guān)鍵。一個人想要成為優(yōu)秀程序員,就必須有堅實的基礎(chǔ)。核心理念的理解會幫助你用最好的方法設(shè)計和實施出最完美的方案。如果你感覺到不能掌握核心的計算機科學(xué)或者某個編程語言的知識點,現(xiàn)在開始回顧基礎(chǔ)一點都不晚。 1. 開始為你寫過的代碼貼上標簽(怎么做,做什么) 我發(fā)現(xiàn)優(yōu)秀的程序員和普通程序員之間有一條明顯的分界線,優(yōu)秀程序員渴望深究每行代碼做了些什么,以及如何實現(xiàn)的。有那么一小群人,他們一定要弄懂每一行代碼。我知道如果時間非常緊張的時候,我們經(jīng)常不能夠遵循這個原則,僅僅寫出些代碼,知道它實現(xiàn)了需要的功能。如何處理這種情況又是另外一個話題,但是作為一個程序員,我們經(jīng)常要盡可能深入探索。相信我,隨著時間的推移這會變成一個習(xí)慣,之后每次你都會不知不覺的這樣做了。 2. 幫助他人,你可以學(xué)到更多 許多人都有個共同特點,只有當(dāng)他需要幫助的時候,他才會求助于論壇或者群。優(yōu)秀程序員不同之處在于他們會經(jīng)常瀏覽論壇去幫助他人。相比較于靠別人幫助解決問題,他們幫助他人讓自己學(xué)到更多。在一個團隊中也是一樣,幫助他人解決問題收獲更多。相信我,了解他人的問題,思考并最終提供解決方案吧,你會比之前學(xué)到的更多。 3. 寫簡單易懂,有邏輯性的代碼 互聯(lián)網(wǎng)的一些事 正如KISS原則(保持短小精悍)適用于生活的方方面面一樣,它也適用于編程。盡量寫有邏輯的代碼,避免復(fù)雜化。有時人們寫復(fù)雜的代碼僅僅是為了展示他們有能力寫出這樣的代碼。我的經(jīng)驗告訴我,簡單而富有邏輯的代碼非常的好,會產(chǎn)生的問題更少,也更容易擴展。我記得一句話: 好的代碼本身就是最好的文檔。當(dāng)你想要加注釋的時候,問問你自己,“我能如何改進我的代碼,才能不寫注釋也讀得懂呢?” 4. 花更多的時候分析問題,你將會花更少時間去解決問題 花更多的時間理解和分析問題,然后再設(shè)計方案吧。你會發(fā)現(xiàn)剩下的事情很容易了。設(shè)計不是說要用建模語言和工具,可以是僅僅看看天空在腦子里構(gòu)思。那些在遇到問題就開始敲代碼的人往往會最終偏離需求。 互聯(lián)網(wǎng)的一些事 如果你洗澡的時候不能理清整個程序的結(jié)構(gòu),那么你還沒準備好開始編程。 – Richard Pattis 5. 成為第一個檢查你的代碼的人 互聯(lián)網(wǎng)的一些事 雖然有一點點難,但試著在其他人修改你代碼之前修改它,隨著時間的推移,你會寫出幾乎沒有bug的代碼。對你的代碼做沒有任何偏見的檢查,也不要猶豫讓其他人來檢查你的代碼。和其他優(yōu)秀的程序員一起工作,接受他們的意見能夠幫助你也成長為一個優(yōu)秀的程序員。 yixieshi.com 6. 不要迷失在快速更迭的科技世界 互聯(lián)網(wǎng)的一些事 在IT行業(yè)中,我經(jīng)常遇見許多人,他們對現(xiàn)在的工作不滿,甚至離開它去追尋新的工作,理由是因為他們想要學(xué)習(xí)最新的科技。我們每天聽到的都是新工具、接口、框架,能讓程序更簡單,速度更快。這在科技世界中司空見慣并會一直如此。但是最基本的最核心的科技變化比那些框架、工具和接口的變化小得多。就像大海,大海表面上波濤翻滾,但大海深處卻相當(dāng)平靜,而那里才是水生生物生存的地方。所以將你自己置身于核心技術(shù)的大海深處吧。舉個例子,在Java企業(yè)級應(yīng)用中,每個星期都會出現(xiàn)新的框架,但是核心的技術(shù)是不變的,譬如基于客戶端-服務(wù)器端的請求,MVS模式,filters/servlets/JSP,數(shù)據(jù)源綁定,XML解析等等。所以要花功夫去學(xué)習(xí)核心概念,而不是去擔(dān)憂日新月異的框架和工具的出現(xiàn)。相信我,有了核心技術(shù)的基礎(chǔ),你會發(fā)現(xiàn)學(xué)習(xí)新的框架,工具以及接口變得更容易了。 7. 應(yīng)急方案不會持續(xù)很長時間 很多時候軟件師們會采用應(yīng)急方案(可能是時間不夠,可能是問題理解不透徹或者是缺少經(jīng)驗)。但是這樣往往帶來的結(jié)果是,代碼混亂,缺乏可擴展性和維護性,后來浪費了更多的時間。請在你清楚整個方案后再開始實施。我知道有些情況下應(yīng)急方案無可避免,就好像,一個人應(yīng)該說實話,但是你在某些情況下不得不說謊。 8. 閱讀文檔 閱讀很多文檔是作為優(yōu)秀程序員的必備習(xí)慣之一??赡苁钱a(chǎn)品說明書、JSR、API文檔、教程等。閱讀文檔幫助你獲得必要的基礎(chǔ)知識,寫出更好的代碼。 互聯(lián)網(wǎng)的一些事 9. 你可以學(xué)習(xí)他人的代碼 我接觸過一些優(yōu)秀的程序員,他們在IDE里面一直放著JAVA源代碼,并經(jīng)常在日常工作中閱讀和查閱。他們這樣做不僅是滿足求知的渴望,還從中學(xué)習(xí)了如何寫優(yōu)秀的程序。閱讀和查閱那些你認為可靠的出名的開源代碼或者比你資深的程序員的代碼,你會寫出更棒的程序。(擴展閱讀:《閱讀優(yōu)秀代碼是提高開發(fā)人員修為的一種捷徑》) 最后,我想說的但沒有將其列在上面的:不要和他人比較 yixieshi.com 和他人的比較往往會造成消極的情緒和不健康的競爭。每個人都有他的長處和短處。揚長避短很重要。我也經(jīng)常看到一些基礎(chǔ)很厲害的程序員范很低級的錯誤。所以僅僅和自己比較,列舉你自己需要改進的地方,并持續(xù)改進它。編程是很有意思的事情,享受它吧。 任何一個傻瓜都能寫出計算機能理解的程序,而優(yōu)秀的程序員卻能寫出別人能讀得懂的程序。 該文章在 2013/9/22 9:22:12 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |