作為一個(gè)剛接觸這一行的程序開(kāi)發(fā)者,你需要知道的幾個(gè)事,它們能讓你在今后的程序開(kāi)發(fā)過(guò)程中,避免過(guò)多的錯(cuò)誤。
1
審題
用10分鐘,20分鐘甚至30分鐘的時(shí)間來(lái)想想你需要什么,想想什么樣的設(shè)計(jì)模式(如果有的話(huà))適合你將要編碼的東西。就像當(dāng)初中學(xué)寫(xiě)作文之前,我們都是需要先審題構(gòu)思的,你看哪一個(gè)沒(méi)構(gòu)思文章大體的得了高分的?真的要好好想想,你會(huì)很慶幸“浪費(fèi)”了那幾分鐘,當(dāng)你不得不更改或添加?xùn)|西到代碼中,而這只花費(fèi)了你30分鐘的時(shí)間而不是5小時(shí)。
2
注釋
說(shuō)真的,沒(méi)有什么比兩個(gè)月后檢查自己的代碼,卻不記得它用來(lái)干什么更糟糕的了。注釋所有重要的內(nèi)容,當(dāng)然那些顯而易見(jiàn)的就免了吧。不然,當(dāng)你之后看到你的代碼時(shí),那真的是一臉懵逼了。
3
干凈的代碼
錯(cuò)落有致,使用空格,根據(jù)功能模塊化你的代碼。自己看著清爽舒服,別人看到你的代碼也會(huì)對(duì)你的評(píng)價(jià)有所提高。
4
代碼重構(gòu)
沒(méi)有人喜歡用那些超級(jí)長(zhǎng)的方法。這通常(幾乎總是)意味著你混雜了功能。用更易于管理的方法分離代碼,還能使得代碼更可重用。
5
CTRL+C與CTRL+V的游戲別玩了
不要當(dāng)你覺(jué)得這一條代碼和上一條有共同之處時(shí),就隨意地復(fù)制粘貼。如果你有兩個(gè)或兩個(gè)以上相同的代碼塊,那么你可能做錯(cuò)了什么。
6
動(dòng)動(dòng)腦子,選有意義的名稱(chēng)
雖然命名int變量為“elligent”或char為“mander”是很好笑;但是,這樣的名稱(chēng)并不能說(shuō)明變量是用來(lái)做什么的。
7
測(cè)試代碼
測(cè)試,測(cè)試,測(cè)試,還是測(cè)試。測(cè)試你的代碼。不要等到已經(jīng)做完程序之后再來(lái)測(cè)試,否則當(dāng)你發(fā)現(xiàn)一個(gè)巨大的bug,卻不知道它來(lái)自于哪里來(lái)的時(shí)候,你會(huì)追悔莫及。
還要學(xué)會(huì)自動(dòng)化測(cè)試,它們的存在通常都是有價(jià)值的,它還有助于節(jié)省大量重測(cè)試和回歸測(cè)試的時(shí)間。
8
調(diào)試自己的代碼
很多人都有種對(duì)自己的代碼莫名的自我相信,這是大錯(cuò)特錯(cuò)的,你對(duì)自己有信心很好。但這是十分不明智的想法,要知道你的整個(gè)項(xiàng)目沒(méi)時(shí)間因?yàn)槟阋粋€(gè)人的錯(cuò)誤而停滯不前。不要在遇到問(wèn)題時(shí)就println,當(dāng)你后來(lái)發(fā)現(xiàn)BUG后,再回來(lái)檢查“丟失的”println浪費(fèi)時(shí)間。
其實(shí)無(wú)論是剛?cè)胄胁痪玫男率?a href="http://www.sbsnmc.com//special/biancheng/" target="_blank" class="keylink">程序員,還是早已在這行摸爬滾打的老油條,總會(huì)犯一些錯(cuò)。記好這幾條忠告,能讓你少走很多彎路。