新聞中心
北大青鳥java培訓(xùn):如何快速熟悉項(xiàng)目代碼?
對(duì)JAVA程序員而言,換一份工作或進(jìn)入一個(gè)新的公司,往往意味著要熟悉一個(gè)新的開發(fā)環(huán)境,要快速了解新的項(xiàng)目。
為太仆寺等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及太仆寺網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都做網(wǎng)站、成都網(wǎng)站制作、太仆寺網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
如何快速地熟悉項(xiàng)目代碼,是每個(gè)程序員都會(huì)遇到的問(wèn)題,特別是對(duì)剛進(jìn)入職場(chǎng)的應(yīng)屆畢業(yè)生,這個(gè)問(wèn)題更顯得棘手。
下面是我自己在經(jīng)歷幾個(gè)工作之后結(jié)束的一些方法,河南IT培訓(xùn)與大家分享一下,僅貢參考!1.通讀需求文檔,了解項(xiàng)目用途;一個(gè)企業(yè)級(jí)的項(xiàng)目,一定會(huì)保留一些相關(guān)文檔吧!比如需求文檔,設(shè)計(jì)文檔,項(xiàng)目計(jì)劃等,先通讀這些文檔,了解項(xiàng)目的用途、主要功能等。
2.熟悉開發(fā)工具、常用功能;每個(gè)公司用的開發(fā)環(huán)境都會(huì)有些不同,要熟悉新的開發(fā)環(huán)境,了解常用的功能、快捷鍵等,特別是前后使用習(xí)慣相差比較大的開發(fā)環(huán)境,如從MyEclipse到IntelliJIDEA。
Java的開發(fā)環(huán)境用的比較多的有MyEclipse(Eclipse)、IntellijIDEA.C++就比較多了,從VC6到VS2008、VS2010、VS2012、VS2013都有人用,還有一些用開源的開發(fā)工具如Qt。
3.部署環(huán)境,把項(xiàng)目跑起來(lái);了解開發(fā)環(huán)境后,就把相關(guān)的配置部署好,把項(xiàng)目跑起來(lái)。
好處是:1.可以進(jìn)一步實(shí)踐新的開發(fā)環(huán)境;2.把項(xiàng)目跑起來(lái)后可以快速地了解項(xiàng)目的用途和功能。
4.整體瀏覽代碼,了解代碼結(jié)構(gòu);整體瀏覽一下代碼,對(duì)項(xiàng)目的代碼有個(gè)整體結(jié)構(gòu)的把握。
最好能把類圖畫出來(lái),可以用一些UML工具(如EA、PowerDesign)的逆向工程把源碼導(dǎo)出類圖。
5.抽取其中的一部分進(jìn)行細(xì)讀;對(duì)一個(gè)企業(yè)級(jí)的項(xiàng)目,特別是一些大型項(xiàng)目或積淀比較深厚的項(xiàng)目,不可一下就把所有代碼都熟悉。
那就選擇其中的一部分,如其中一個(gè)小功能,從界面開始,通過(guò)debug模式一步一步地跟下去,以點(diǎn)帶面地去熟悉整個(gè)項(xiàng)目。
6.嘗試修改一些程序bug;修改bug是熟悉項(xiàng)目最好的方法。
根據(jù)出現(xiàn)的bug,通過(guò)debug模式一步步地定位出現(xiàn)問(wèn)題的位置,再分析出現(xiàn)問(wèn)題的原因。
當(dāng)你能夠修改bug,并且已經(jīng)改了好幾個(gè)bug的時(shí)候,就說(shuō)明你對(duì)項(xiàng)目有了一定了解了,基本熟悉這個(gè)項(xiàng)目的結(jié)構(gòu)和邏輯了。
北大青鳥java培訓(xùn):系統(tǒng)程序員怎樣把代碼寫得又快又好?
很多初學(xué)者包括一些有經(jīng)驗(yàn)的程序員,在敲完代碼的最后一個(gè)字符后,馬上開始編譯和運(yùn)行,迫不急待的想看到自己的工作成果。
快速反饋有助于滿足自己的成就感,但是同時(shí)也會(huì)帶來(lái)一些問(wèn)題:讓編譯器幫你檢查語(yǔ)法錯(cuò)誤可以省些時(shí)間,但程序員往往太專注這些錯(cuò)誤了,以為改完這些錯(cuò)誤就萬(wàn)事大吉了。
其實(shí)不然,很多錯(cuò)誤編譯器是發(fā)現(xiàn)不了的,像內(nèi)存錯(cuò)誤和線程死鎖等等,這些錯(cuò)誤可能逃過(guò)簡(jiǎn)單的測(cè)試而遺留在代碼中,直到集成測(cè)試或者軟件發(fā)布之后才暴露出來(lái),那時(shí)就要花更大代價(jià)去修改它們了。
修改完編譯錯(cuò)誤之后就是運(yùn)行程序了,運(yùn)行起來(lái)有錯(cuò)誤,就輪到調(diào)試器上場(chǎng)了。
花了不少時(shí)間去調(diào)試,發(fā)現(xiàn)無(wú)非是些低級(jí)錯(cuò)誤,或許你會(huì)自責(zé)自己粗心大意,但是下次可能還是犯同樣的錯(cuò)誤。
更嚴(yán)重的是這種debugfix的方法,往往是頭痛醫(yī)頭腳痛醫(yī)腳,導(dǎo)致低質(zhì)量的軟件。
讓編譯器幫你檢查語(yǔ)法錯(cuò)誤,讓調(diào)試器幫你查BUG,這是天經(jīng)地義的事,但這確實(shí)是又慢又爛的方法。
就像你要到離家東邊1000米的地方開會(huì),結(jié)果你往西邊走,又是坐車又是搭飛機(jī),花了一周時(shí)間,也繞著地球轉(zhuǎn)了一周,終于到了會(huì)議室,你還大發(fā)感慨說(shuō),現(xiàn)代的交通工具真是發(fā)達(dá)啊。
其實(shí)你往東走,走路也只要十多分鐘就到了。
不管你的調(diào)試技巧有多高,都不如一次性寫好更高效。
下面是我在閱讀自己代碼時(shí)的一些方法:檢查常見錯(cuò)誤第一遍閱讀時(shí)主要關(guān)注語(yǔ)法錯(cuò)誤、代碼排版和命名規(guī)則等等問(wèn)題,只要看不順眼就修改它們。
讀完之后,你的代碼很少有低級(jí)錯(cuò)誤,看起來(lái)也比較干凈清爽。
第二遍重點(diǎn)關(guān)注常見編程錯(cuò)誤,比如內(nèi)存泄露和可能的越界訪問(wèn),變量沒(méi)有初始化,函數(shù)忘記返回值等等,在后面的章節(jié)中,我會(huì)介紹這些常見錯(cuò)誤,避免這些錯(cuò)誤可以為你省大量的時(shí)間。
如果有時(shí)間,在測(cè)試完成之后,還可以考慮是否有更好的實(shí)現(xiàn)方法,甚至嘗試重新去實(shí)現(xiàn)它們。
說(shuō)了讀者可能不相信,在學(xué)習(xí)編程的前幾年,我經(jīng)常重寫整個(gè)模塊,只我覺(jué)得能做得更好,能驗(yàn)證我的一些想法,或提高我的編程能力,即使連續(xù)幾天加班到晚上十一點(diǎn),我也要重寫它們。
模擬計(jì)算機(jī)執(zhí)行常見錯(cuò)誤是比較死的東西,按照檢查列表一條一條的做就行了。
有些邏輯通常不是這么直觀的,這時(shí)可以自己模擬計(jì)算機(jī)去執(zhí)行,假想你自己是計(jì)算機(jī),讀入這些代碼時(shí)你會(huì)怎么處理。
北大青鳥認(rèn)為這種方法能有效的完善我們的思路,考慮不同的輸入數(shù)據(jù),各種邊界值,這能幫助我們想到一些沒(méi)有處理的情況,讓程序的邏輯更嚴(yán)謹(jǐn)。
做java軟件工程師,怎樣才能寫出好的代碼?
Java代碼之于java程序員而言就是左膀右臂,java代碼寫的好的java程序員明顯更是企業(yè)的歡迎,一個(gè)優(yōu)秀的java程序員的考核標(biāo)準(zhǔn)之一也是看他的編程水平。
其實(shí)有的java程序員java代碼會(huì)受到大家的追捧,是因?yàn)樗趯懘a時(shí)注意的細(xì)節(jié)往往多于那些不怎么關(guān)注java代碼編程細(xì)節(jié)的程序員,俗話說(shuō):“細(xì)節(jié)決定成敗”,那么如何寫出好的java代碼呢?IT培訓(xùn)介紹一起來(lái)討論下:
1.重視注釋
有的java程序員在寫代碼時(shí),從來(lái)沒(méi)有想過(guò)要在java代碼后加上相關(guān)的注釋,甚至是上萬(wàn)行的代碼也沒(méi)有想過(guò)加上注釋,這就存在很大的問(wèn)題,不說(shuō)你的代碼會(huì)跟其他人分享討論,就你自己回顧你是怎么寫好這篇代碼的,你也是半天無(wú)法理出頭緒,這就為維護(hù)和修改等等工作添加了很大的麻煩。所以,要想寫出好的java代碼,一定從簡(jiǎn)短的java代碼編寫開始注重在java代碼后面加上相應(yīng)的注釋,養(yǎng)成良好的習(xí)慣。
2.重視排版整潔
看很多java程序員的排版總覺(jué)得在欣賞一幅藝術(shù)品,但是看到一些java程序員的排版卻總覺(jué)得無(wú)力吐槽。同樣是編寫代碼,但是給人的視覺(jué)體驗(yàn)是相當(dāng)?shù)牟煌?,?dāng)然好的java代碼給人的享受也是美的,所以要想寫出好的代碼,一定要重視排版整潔。
3.注重命名規(guī)則
現(xiàn)在在一個(gè)團(tuán)隊(duì)開發(fā)中,都會(huì)提前定制一個(gè)統(tǒng)一的命名規(guī)則,這樣利于提高工作效益。但是很多java程序員是缺乏這個(gè)意識(shí)的,每次敲代碼,更喜歡按照自己慣常的方式老命名模塊、函數(shù),這樣是方便了自己,但是忽視團(tuán)隊(duì)協(xié)作,所以在日常工作中,特別是團(tuán)隊(duì)工作中一定要重視命名規(guī)則。
4.養(yǎng)成備份習(xí)慣
備份的重要性不用小編強(qiáng)調(diào),相必你也知道。但是有的java程序員就是沒(méi)有養(yǎng)成這樣的好習(xí)慣,每次敲完代碼就不記得隨手保存,每次等到除了事故,比如電腦出了故障,辛辛苦苦敲打的java代碼沒(méi)保存找不回來(lái)的情況下就開始懊惱,與其這樣還不如在一開始就養(yǎng)成良好的備份習(xí)慣,這樣也方便自己日后查找利用。
新聞標(biāo)題:java程序員快速打代碼 程序員打代碼速度
URL鏈接:http://fisionsoft.com.cn/article/hpsich.html