李勇
摘 要 隨著信息技術(shù)行業(yè)的高速發(fā)展,軟件行業(yè)也在夜以繼日的以一種昂揚(yáng)的姿態(tài)不斷探索與前進(jìn)。在過去的時間里,軟件開發(fā)所用語言大多是Java和C++,而C#作為后來興起的軟件開發(fā)語言,同樣具有較高的地位。本文旨在通過對規(guī)范代碼這一問題進(jìn)行探討,了解其對于軟件編程工作的地位以及重要性,以期于有效提升軟件編程能力。
關(guān)鍵詞 C#語言 語言規(guī)范 軟件編程
中圖分類號:TP31文獻(xiàn)標(biāo)識碼:A
軟件開發(fā)需要技術(shù)人員的經(jīng)驗和態(tài)度。當(dāng)然,程序員的工作經(jīng)驗是要靠實際工作來進(jìn)行積累的,那么對于剛剛參加工作的程序員們來說,一套完善的軟件開發(fā)規(guī)范制度是必要的,即,一套完善的軟件開發(fā)時的工作制度與代碼使用規(guī)范可以對程序員的正常工作起到一定的約束作用。
1代碼規(guī)范
(1)命名規(guī)范
變量、方法名、類名和借口名的命名都應(yīng)該清楚明了,最好選用通用的名稱,讓旁人一眼便可看出,避免由于主觀的認(rèn)知而讓他人產(chǎn)生對于名稱的誤解。而單字母命名往往會造成歧義,雖然命名簡單但是不能夠達(dá)到預(yù)期的效果。應(yīng)該注意的是,在命名是一定要使用英文,注意使用Pascal的大小寫規(guī)則與Camel規(guī)則。兩種規(guī)則雖然有所不同,但是其根本目的仍是方便開發(fā)人員的理解,增強(qiáng)代碼的可讀性。
(2)代碼注釋
在代碼編寫的過程中,往往需要對代碼進(jìn)行注釋,這樣既增加代碼的辨識度,又提高了代碼的可用性。如:
If(1==1)
{statement;}
對于經(jīng)驗豐富的程序員可能不會有任何的理解影響,但是對于新晉的程序員往往會由于“1==1”這個條件啊產(chǎn)生較大的歧義,如果在if語句后加上注釋
If(1==1)//always true
這樣,這個if語句的含義便很明了了,即:每一次該語句的判斷均為true,故每一次運(yùn)算的結(jié)果都會傳入下方進(jìn)行體中。工作經(jīng)驗是需要一定是時間才能積累的,如果工作時間不夠,沒有針對相應(yīng)環(huán)境的經(jīng)驗,則很容易造成與分歧。
(3)代碼優(yōu)化
對于一些循環(huán)語句,為了減少一些不必要的循環(huán),當(dāng)必要的循環(huán)邏輯已經(jīng)完成之后,如果還未達(dá)到之前規(guī)定的循環(huán)次數(shù),為了減少服務(wù)器的資源消耗,提高頁面反應(yīng)的速度,故此時需要跳出循環(huán)。
(4)代碼分層
現(xiàn)在軟件開發(fā)工作日益嚴(yán)峻,工作量不斷加大,尤其是各種編程技術(shù)的發(fā)展在不斷增速,技術(shù)多樣化的今天,代碼分層的重要性正在不斷的展現(xiàn)出來。
2代碼規(guī)范的重要性
(1)代碼規(guī)范可以減少即時問題的發(fā)生
其實程序員的工作有時并不像想外人想的那樣終日埋頭在案前進(jìn)行大量的運(yùn)算。就像剛才提到的,復(fù)雜的運(yùn)算過程和冗長的邏輯設(shè)計往往不是工作量最大的,工作量最大的是編寫代碼。但是簡單不意味著不會出現(xiàn)問題,往往越簡單的工作出現(xiàn)問題的頻率就會越高。而原因在很大的程度上都可以歸于沒有一個規(guī)范的代碼使用制度。沒有規(guī)范的對輸入輸出參數(shù)的規(guī)范,沒有規(guī)范的異常處理,沒有規(guī)范的日志處理等等,不但導(dǎo)致了我們總是出現(xiàn)類似空指針這樣低級的bug而且還很難找到引起bug的原因。
(2)規(guī)范代碼可以方便代碼的查錯工作
代碼編寫完成后不意味著萬事大吉,往往此時只是完成了編寫的一個部分,而另一部分就是對源代碼的審查工作。及時地復(fù)查可以避免錯誤地發(fā)生,也可以端正編程人員的態(tài)度,使其工作更加謹(jǐn)慎認(rèn)真。而且,作為一個團(tuán)隊,可以在其他人編寫完代碼之后查出其中的錯誤,對于整個團(tuán)隊的其他成員也是一種學(xué)習(xí)和進(jìn)步。但是,如果代碼書寫不規(guī)范,不但嚴(yán)重影響了審查工作的進(jìn)行,加大了工作量與工作難度,有時甚至?xí)斐蓻]有辦法審查的嚴(yán)重后果。由于不了解此代碼編寫是否成功,因此代碼便會被棄用。由此,代碼書寫的規(guī)范可以讓程序編寫的審查工作更好開展,提高了效率和效果,同時也提高了整個團(tuán)隊的代碼開發(fā)速度。
(3)規(guī)范代碼可以提升團(tuán)隊的合作能力
作為團(tuán)隊型工作,如果不規(guī)范代碼書寫,則每個人寫出的代碼都會有不同的解讀障礙。如果是多人同時在書寫同一段代碼,對于代碼可用度的辨識上就會出現(xiàn)很大的分歧;如果是每一個人都有明確的分工,確定其負(fù)責(zé)的步驟,在整合的時候工作量也會由于每個人代碼的差異而加大。很多時候,讀不懂代碼不僅僅是因為專業(yè)知識不夠或者是代碼有多么復(fù)雜難懂,只是因為別人的代碼書寫方式和自己的不盡相同。如果將代碼書寫進(jìn)行規(guī)范,則提高了代碼在團(tuán)隊中的可讀性,每個人看到代碼都不會產(chǎn)生疑問,自然會提高整個團(tuán)隊的工作效率。
(4)規(guī)范代碼可以減少由于維護(hù)帶來的開銷
之前說到的問題如果不去解決,則會影響到所開發(fā)程序的質(zhì)量,在開發(fā)過程中,前期的開發(fā)工作實際上只是對于程序的編寫,而后期的調(diào)試才是整個過程中開銷最大的一項。代碼的質(zhì)量不夠,則需要多次進(jìn)行檢查,而且每一次檢查都會需要相應(yīng)的投入。在每個人的代碼書寫沒有統(tǒng)一的時候,即使是一段沒有問題的代碼經(jīng)過數(shù)次維護(hù),最后也會成為了亂碼,維護(hù)又該怎樣進(jìn)行?因此,只有規(guī)范代碼的書寫才能減少維護(hù)。
3總結(jié)
總之,在代碼規(guī)范問題中,最重要的還是要樹立良好的代碼編寫規(guī)范準(zhǔn)則,在不斷的實踐工作中積累經(jīng)驗,并將其運(yùn)用與平時的代碼編寫中。只有通過實踐,才能不斷的提高自身的技術(shù)水平,嚴(yán)懲不良的行為習(xí)慣,保證代碼運(yùn)行效率,讓寫出的代碼真正有效運(yùn)用到軟件開發(fā)過程中。
參考文獻(xiàn)
[1] 張紀(jì)生.小儀編寫面試高質(zhì)量代碼[J].經(jīng)營管理者,Manager Journal, 2012.07.