寫代碼的順序最好和實際操作的邏輯一樣,先做什么后做什么,這樣能最大程度的保證邏輯不會出什么問題。前提是你要熟悉業(yè)務(wù)邏輯。
成都創(chuàng)新互聯(lián)公司是一家專注于成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)與策劃設(shè)計,曲沃網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:曲沃等地區(qū)。曲沃做網(wǎng)站價格咨詢:18980820575
還有開發(fā)的時候不要局限于一個方法的實現(xiàn)代碼邏輯,先從整體上把方法都寫出來,比如這個方法要做什么,只管寫一個方法就行,具體怎么做可以在框架都搭完了再寫,更好的就是全部用接口,接口全部寫好了之后再寫實現(xiàn)類,這樣更好。
還有一個方法里面的代碼最好不要太長,最好不要超過一個屏幕,不然看起來很累的,可以把一個方法分成好幾個方法來寫,那樣BUG也會減少很多,邏輯性強(qiáng)。還有就是最好不要循環(huán)嵌套,嵌套個兩三層后出問題就麻煩了,如果一定要嵌套就分出去一個方法就好。
還有就是要多集成,能通用的方法就通用寫掉,寫成工具類,如果有框架了,多多熟悉原本就有的工具類,都自己寫的話代碼多不說,還很容易出錯,要學(xué)會活用別人的代碼。
最后:多多交流,自己蒙頭寫只能一事無成。
最最后:手打真累...
在我們進(jìn)行編程時,有兩樣?xùn)|西是非常重要的,一是思路,二是語法結(jié)構(gòu)。有了思路,但對Java這門語言的語法結(jié)構(gòu)不是特別了解,那么代碼肯定是編寫不出來。
或者說對于Java語言語法結(jié)構(gòu)掌握的還算可以,但是解題卻沒有思路,代碼肯定是無從下手的,這也是許多程序員常見的情況。
給你分享三個方法:
1、拆分法:將功能項目拆解成N個子功能,保證每個子功能只需要處理一個邏輯業(yè)務(wù),返回一個邏輯結(jié)構(gòu)數(shù)據(jù),跟畫家畫一只兔子一樣。很多功能實現(xiàn)過于復(fù)雜,需要牽扯到很多方面的問題,這時你只有好好拆分,把大功能靠自己的經(jīng)驗拆成多個獨立的子功能,這樣每個子功能的邏輯就不那么復(fù)雜了,自己也可以專心于業(yè)務(wù)邏輯實現(xiàn)。
2、預(yù)先定義法:很多功能你不知道怎么實現(xiàn),但是你知道最終返回的數(shù)據(jù)結(jié)構(gòu)應(yīng)該是什么樣子的,那你就預(yù)先把他定義出來,然后提前返回,中間業(yè)務(wù)邏輯部分都是為了填充這個預(yù)先返回的數(shù)據(jù)結(jié)構(gòu)定義的。其實程序中充滿著這樣的技巧,各種代碼都是預(yù)先定義好類型、數(shù)據(jù)結(jié)構(gòu)、對象等等,然后慢慢通過業(yè)務(wù)邏輯取到值進(jìn)行填充。
3、假設(shè)法:很多時候程序員需要完成對接或者功能還未實現(xiàn),可以采用假設(shè)法,你可以預(yù)先定義好假設(shè)的數(shù)據(jù),假設(shè)的數(shù)據(jù)跟需要的數(shù)據(jù)完全吻合,甚至你可以這樣操作if (true) {},這樣把if里的內(nèi)容全部書寫完畢,然后再來處理這個true的問題,如果這個true的時機(jī)還不成熟,那說明不是你的問題了,而是別人的問題,別人應(yīng)該背鍋,你的績效就達(dá)成了。
1.編碼之前想一想
用10分鐘,20分鐘甚至30分鐘的時間來想想你需要什么,想想什么樣的設(shè)計模式適合你將要編碼的東西。你會很慶幸“浪費(fèi)”了那幾分鐘,當(dāng)你不得不更改或添加?xùn)|西到代碼中時你就不將將浪費(fèi)幾分鐘而是要花費(fèi)更多的時間。
2.注釋你的代碼
說真的,沒有什么比兩個月后檢查自己的代碼,卻不記得它用來干什么更糟糕的了。注釋所有重要的內(nèi)容,當(dāng)然那些顯而易見的就免了吧。
3.寫干凈的代碼
錯落有致。使用空格。根據(jù)功能模塊化你的代碼。閱讀RobertC.Martin寫的《CleanCode》,非常有幫助。此外,遵循代碼約定/標(biāo)準(zhǔn)(如,尤其如果是共享的代碼。
4.重構(gòu)
沒有人喜歡用那些超級長的方法。這通常(幾乎總是)意味著你混雜了功能。用更易于管理的方法分離代碼。還能使得代碼更可重用。
5.不要復(fù)制粘貼代碼
如果你有兩個或兩個以上相同的代碼塊,那么你可能做錯了什么。閱讀第4條。
6.使用有意義的名稱
雖然命名int變量為“elligent”或char為“mander”是很好笑;但是,這樣的名稱并不能說明變量是用來做什么的。
7.測試代碼
測試,測試,測試,還是測試。測試你的代碼。不要等到已經(jīng)做完程序之后再來測試,否則當(dāng)你發(fā)現(xiàn)一個巨大的bug,卻不知道它來自于哪里來的時候,你會追悔莫及。
自動化測試通常都是有價值的。它還有助于節(jié)省大量重測試和回歸測試的時間。