• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 224  文章 - 41  trackbacks - 0
            <2008年11月>
            2627282930311
            2345678
            9101112131415
            16171819202122
            23242526272829
            30123456

            享受編程

            常用鏈接

            留言簿(11)

            隨筆分類(159)

            隨筆檔案(224)

            文章分類(2)

            文章檔案(4)

            經(jīng)典c++博客

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            原地址:http://blog.csdn.net/haoel/archive/2009/03/22/4013883.aspx

            在這個世界上,有數(shù)百萬的人熱衷于軟件開發(fā),他們有很多名字,如:軟件工程師(Software Engineer),程序員(Programmer),編碼人(Coder),開發(fā)人員(Developer)。經(jīng)過一段時間后,這些人能夠成為一個優(yōu)秀的編碼人員,他們非常熟悉如何用計算機語言來完成自己的工作。但是,如果你要成為一個優(yōu)秀的程序員,你還可以需要有幾件事你需要注意,如果你能讓下面十個條目成為你的習(xí)慣,那么你才能真正算得上是優(yōu)秀程序員。

            1. 學(xué)無止境。就算是你有了10年以上的程序員經(jīng)歷,你也得要使勁地學(xué)習(xí),因為你在計算機這個充滿一創(chuàng)造力的領(lǐng)域,每天都會有很多很多的新事物出現(xiàn)。你需要跟上時代的步伐。你需要去了解新的程序語言,以及了解正在發(fā)展中的程序語言,以及一些編程框架。還需要去閱讀一些業(yè)內(nèi)的新聞,并到一些熱門的社區(qū)去參與在線的討論,這樣你才能明白和了解整個軟件開發(fā)的趨勢。在國內(nèi),一些著名的社區(qū)例如:CSDN,ITPUB,CHINAUINX等等,在國外,建議你經(jīng)常上一上digg.com去看看各種BLOG的聚合。

             

            2. 掌握多種語言。程序語言總是有其最適合的領(lǐng)域。當(dāng)你面對需要解決的問題時,你需要找到一個最適合的語言來解決這些問題。比如,如果你需要性能,可能C/C++是首選,如果你需要跨平臺,可能Java是首選,如果你要寫一個Web上的開發(fā)程序,那么PHP,ASP,Ajax,JSP可能會是你的選擇,如果你要處理一些文本并和別的應(yīng)用交互,可能Perl, Python會是最好的。所以,花一些時間去探索一下其它你并熟悉的程序語言,能讓你的眼界變寬,因為你被武裝得更好,你思考問題也就更為全面,這對于自己和項目都會有好的幫助。

            3. 理性面對不同的操作系統(tǒng)或技術(shù)。程序員們總是有自己心目中無可比擬的技術(shù)和操作系統(tǒng),有的人喜歡Ubuntu,有的人喜歡Debian,還有的人喜歡Windows,以及FreeBSD,MacOSX或Solaris等等。看看我的BLOG(http://blog.csdn.net/haoel)中的那篇《其實Unix很簡單》后的回復(fù)你就知道程序員們在維護起自己的忠愛時的那份執(zhí)著了。只有一部分優(yōu)秀的程序員明白不同操作系統(tǒng)的優(yōu)勢和長處和短處,這樣,在系統(tǒng)選型的時候,才能做到真正的客觀和公正,而不會讓情緒影響到自己。同樣,語言也是一樣,有太多的程序員總是喜歡糾纏于語言的對比,如:Java和Perl。哪個剛剛出道的程序員沒有爭論去類似的話題呢?比如VC++和Delphi等等。爭論這些東西只能表明自己的膚淺和浮燥。優(yōu)秀的程序并不會執(zhí)著于這些,而是能夠理性的分析和理心地面對,從而才能客觀地做出正確的選擇。

            4. 別把自己框在單一的開發(fā)環(huán)境中。 再一次,正如上面所述,每個程序員都有自己忠愛的工具和技術(shù),有的喜歡老的(比如我就喜歡Vi編輯程序),而有的喜歡新的比如gedit或是Emacs等。有的喜歡使用像VC++一樣的調(diào)試器,而我更喜歡GDB命令行方面的調(diào)式器。等等等等。程序員在使用什么樣的工具上的爭論還少嗎?到處都是啊。使用什么樣的工具本來無所謂,只要你能更好更快地達到你的目的。但是有一點是優(yōu)秀程序員都應(yīng)該了解的——那就是應(yīng)該去嘗試一下別的工作環(huán)境。沒有比較,你永遠不知道誰好誰不好,你也永遠不知道你所不知道的。

            5. 使用版本管理工具管理你的代碼。千萬不要告訴我你不知道源碼的版本管理,如果你的團隊開發(fā)的源代碼并沒有版本管理系統(tǒng),那么我要告訴你,你的軟件開發(fā)還處于石器時代。趕快使用一個版式本管理工具吧。CVS 是一個看上去平淡無奇的版本工具,但它是被使用最廣的版本管理系統(tǒng),Subversion 是CVS的一個升級版,其正在開始接管CVS的領(lǐng)地。Git 又是一個不同的版本管理工具。還有Visual SourceSafe等。使用什么樣的版本管理工具依賴于你的團隊的大小和地理分布,你也許正在使用最有效率或最沒有效率的工具來管理你的源代碼。但一個優(yōu)秀的程序員總是會使用一款源碼版本管理工具來管理自己的代碼。如果你要我推薦一個,我推薦你使用開源的Subversion。

            6. 是一個優(yōu)秀的團隊成員。 除非你喜歡獨奏,除非你是孤膽英雄。但我想告訴你,今天,可能沒有一個成熟的軟件是你一個人能做的到的,你可能是你團隊中最牛的大拿,但這并不意味著你就是好的團隊成員。你的能力只有放到一個團隊中才能施展開來。你在和你的團隊成員交流中有禮貌嗎?你是否經(jīng)常和他們溝通,并且大家都喜歡和你在一起討論問題?想一想一個足球隊吧,你是這個隊中好的成員嗎?當(dāng)別人看到你在場上的跑動,當(dāng)別人看到你的傳球和接球和搶斷,能受到鼓舞嗎?

            7. 把你的工作變成文檔。 這一條目當(dāng)然包括了在代碼中寫注釋,但那還僅僅不夠,你還需要做得更多。有良好的注釋風(fēng)格的代碼是一個文檔的基礎(chǔ),他能夠讓你和你的團隊容易的明白你的意圖和想法。寫下文檔,并不僅僅是怕我們忘了當(dāng)時的想法,而且還是一種團隊的離線交流的方法,更是一種知識傳遞的方法。記錄下你所知道的一切會是一個好的習(xí)慣。因為,我相信你不希望別人總是在你最忙的時候來打斷你問問題,或是你在休假的時候接到公司的電話來詢問你問題。而你自己如果老是守著自己的東西,其結(jié)果只可能是讓你自己長時間地深陷在這塊東西內(nèi),而你就更本不可以去做更多的事情。包括向上的晉升。你可能以為“教會徒弟能餓死師父”,但我告訴你,你的保守會讓你失去更多更好的東西,請你相信我,我絕不是在這里聳人聽聞。

            8. 注意備份和安全。 可能你覺得這是一個“廢話”,你已明白了備份的重要性。但是,我還是要在這里提出,丟失東西是我們?nèi)松械囊徊糠荩憧偸菚G東西,這點你永遠無法避免。比如:你的筆記本電腦被人偷了,你的硬盤損壞了,你的電腦中病毒了,你的系統(tǒng)被人入侵了,甚至整個大樓被燒了,等等,等等。所以,做好備份工作是非常非常重要的事情,硬盤是不可信的,所以定期的刻錄光盤或是磁帶可能會是一個好的方法,網(wǎng)絡(luò)也是不可信的,所以小心病毒和黑客,不但使用軟件方面的安全策略,你更需要一個健全的管理制度。此外,盡量的讓你的數(shù)據(jù)放在不同的地方,并做好定期(每日,每周,每月)的備份策略。

            9. 設(shè)計要足夠靈活。 可能你的需求只會要求你實現(xiàn)一個死的東西,但是,你作為一個優(yōu)秀的程序,你應(yīng)該隨時在思考這個死的東西是否可以有靈活的一面,比如把一些參數(shù)變成可以配置的,把一些公用的東西形成你的函數(shù)庫以便以后重用,是否提供插件方面的功能?你的模塊是否要以像積木一樣隨意組合?如果要有修改的話,你的設(shè)計是否能夠馬上應(yīng)付?當(dāng)然,靈活的設(shè)計可能并不是要你去重新發(fā)明輪子,你應(yīng)該盡可能是使用標(biāo)準(zhǔn)化的東西。所謂靈話的設(shè)計就是要讓讓考慮更多需求之外的東西,把需求中這一類的問題都考慮到,而不是只處理需求中所說的那一特定的東西。比如說,需要需要的屏幕分辨率是800×600,那么你的設(shè)計能否靈活于其他的分辨率?程序設(shè)計總是需要我們?nèi)ヌ幚聿煌沫h(huán)境,以及未來的趨勢。我們需要用動態(tài)的眼光去思考問題,而不是刻舟求劍。也許有一天,你今天寫的程序就要移植到別的環(huán)境中去,那個時候你就能真正明白什么是靈活的設(shè)計了。

            10. 不要搬起石頭砸自己的腳。程序員總是有一種不好的習(xí)慣,那就是總是想趕快地完成自己手上的工作。但情況卻往往事已愿違。越是想做得快,就越是容易出問題,越是想做得快,就越是容易遺漏問題,最終,程序改過來改過去,按下葫蘆起了瓢,最后花費的時間和精力反而更多。欲速而不達。優(yōu)秀程序員的習(xí)慣是前面多花一些時間多作一些調(diào)查,試驗一下不同的解決方案,如果時間允許,一個好的習(xí)慣是,每4個小時的編程,需要一個小時的休息,然后又是4個小時的編碼。當(dāng)然,這因人而異,但其目的就是讓你時常回頭看看,讓你想一想這樣三個問題:1)是否這么做是對的?2)是否這么做考慮到了所有的情況?3)是否有更好的方法?想好了再說,時常回頭看看走過的路,時常總結(jié)一下過去事,會對你有很大的幫助。

            以上是十條優(yōu)秀程序員的習(xí)慣或行為規(guī)范,希望其可以對你有所幫助。

            本文來源于網(wǎng)上phil的BLOG,但我在寫作過程中使用了自己的語言和方法重新描述了一下這十條,所以,我希望你在轉(zhuǎn)載的時候能夠注明作者和出處以表示對我的尊重。謝謝!

            posted on 2009-03-26 20:49 漂漂 閱讀(107) 評論(0)  編輯 收藏 引用

            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            99精品久久精品| 久久久久高潮综合影院| www.久久99| 国产69精品久久久久99尤物| 中文字幕亚洲综合久久2| 看全色黄大色大片免费久久久| 亚洲国产成人久久精品99 | 亚洲国产精品婷婷久久| 久久久WWW成人免费毛片| 久久精品国产99国产精品导航| 国产精品美女久久久久久2018| 久久se这里只有精品| 7777久久久国产精品消防器材| 久久er国产精品免费观看2| 国产成人综合久久精品红| 久久久精品一区二区三区| 中文字幕精品无码久久久久久3D日动漫| 99久久99久久精品国产片果冻| 91精品免费久久久久久久久| 无码人妻久久一区二区三区免费| 国内精品欧美久久精品| 久久电影网2021| 中文字幕无码免费久久| 欧洲国产伦久久久久久久| 91麻豆精品国产91久久久久久| 看久久久久久a级毛片| 亚洲精品国产美女久久久| 午夜视频久久久久一区| 久久亚洲中文字幕精品一区| 欧美亚洲国产精品久久蜜芽| 精品无码久久久久国产| 欧美一区二区三区久久综| 精品国产青草久久久久福利| 天天做夜夜做久久做狠狠| 色综合久久久久综合99| 日韩va亚洲va欧美va久久| 久久精品亚洲乱码伦伦中文| 久久久久久国产a免费观看不卡 | 久久久久亚洲国产| 模特私拍国产精品久久| 一级女性全黄久久生活片免费|