淺析關(guān)于VB.NET變量名運(yùn)用
經(jīng)過(guò)長(zhǎng)時(shí)間學(xué)習(xí)VB.NET,于是和大家分享一下關(guān)于VB.NET變量的問(wèn)題,看完本文你肯定有不少收獲,希望本文能教會(huì)你更多東西。
1 .定義有焦點(diǎn)的變量
用于多個(gè)目的的變量稱(chēng)為無(wú)焦點(diǎn)(多焦點(diǎn))的變量。無(wú)焦點(diǎn)變量所代表的意義與程序的執(zhí)行流程有關(guān),當(dāng)程序處于不同位置時(shí),它所表示的意義是不固定的,這樣就給程序的可讀性和可維護(hù)性帶來(lái)了麻煩。
比如:定義一個(gè)名為rs的RecordSet變量,先用這個(gè)變量取得了醫(yī)院?jiǎn)T工數(shù)據(jù),之后又用同一個(gè)VB.NET變量名取得了住院病人數(shù)據(jù),那么單獨(dú)抽取出一句使用了變量rs的語(yǔ)句,如果只憑這一句、不從頭讀起的話(huà),很知道這句話(huà)究竟使用的是哪個(gè)表的數(shù)據(jù)。這給程序的維護(hù)帶來(lái)了不必要的麻煩。
2 .只對(duì)常用VB.NET變量名和長(zhǎng)VB.NET變量名進(jìn)行縮寫(xiě)
如果需要對(duì)變量名進(jìn)行縮寫(xiě)時(shí),一定要注意整個(gè)代碼中縮寫(xiě)規(guī)則的一致性。例如,如果在代碼的某些區(qū)域中使用Cnt,而在另一些區(qū)域中又使用Count,就會(huì)給代碼增加不必要的復(fù)雜性。
變量名中盡量不要出現(xiàn)縮寫(xiě)。
3. 使用統(tǒng)一的量詞
通過(guò)在結(jié)尾處放置一個(gè)量詞,就可創(chuàng)建更加統(tǒng)一的變量,它們更容易理解,也更容易搜索。例如,請(qǐng)使用strCustomerFirst和strCustomerLast。
量詞列表:量詞后綴 說(shuō)明
First 一組變量中的第一個(gè)
Last 一組變量中的最后一個(gè)
Next 一組變量中的下一個(gè)變量
Prev 一組變量中的上一個(gè)
Cur 一組變量中的當(dāng)前變量
4 .使用肯定形式的布爾變量
給布爾變量命名時(shí),始終都要使用變量的肯定形式,以減少其它開(kāi)發(fā)人員在理解布爾變量所代表的意義時(shí)的難度。
5 .為每個(gè)變量選擇最佳的數(shù)據(jù)類(lèi)型
這樣即能減少對(duì)內(nèi)存的需求量,加快代碼的執(zhí)行速度,又會(huì)降低出錯(cuò)的可能性。用于變量的數(shù)據(jù)類(lèi)型可能會(huì)影響該變量進(jìn)行計(jì)算所產(chǎn)生的結(jié)果。在這種情況下,vb不會(huì)產(chǎn)生運(yùn)行期錯(cuò)誤,它只是迫使該值符合數(shù)據(jù)類(lèi)型的要求。這類(lèi)問(wèn)題極難查找。
例如:對(duì)可能會(huì)出現(xiàn)浮點(diǎn)數(shù)的變量,定義為整形或長(zhǎng)整形會(huì)導(dǎo)致VB在運(yùn)算時(shí)將該變量的值自動(dòng)取整,這種VB自動(dòng)進(jìn)行、隱式的的操作會(huì)增大程序排錯(cuò)時(shí)的難度。
6 .只有在絕對(duì)必要時(shí)才使用Variant數(shù)據(jù)類(lèi)型
#T#Variant還存在其他缺陷。它們占用的內(nèi)存比VB的任何其他數(shù)據(jù)類(lèi)型都要多,而且對(duì)Variant中的數(shù)據(jù)進(jìn)行操作時(shí)的速度幾乎總是比對(duì)其他數(shù)據(jù)類(lèi)型進(jìn)行操作的速度要慢,另外變體類(lèi)型還可能導(dǎo)致VB在程序運(yùn)行過(guò)程中對(duì)數(shù)據(jù)類(lèi)型進(jìn)行自動(dòng)轉(zhuǎn)換。只有在確實(shí)不能預(yù)料變量的類(lèi)型時(shí)才能使用Variant。注意:當(dāng)你使用單個(gè)As﹤type﹥子句在同一個(gè)代碼行上說(shuō)明多個(gè)變量時(shí),只有Dim語(yǔ)句中的最后一個(gè)變量被賦予特定數(shù)據(jù)類(lèi)型。所有其他變量均被賦予Variant數(shù)據(jù)類(lèi)型。
7. 盡量縮小變量的作用域
如果變量的作用域大于它應(yīng)有的范圍,變量可繼續(xù)存在,并且在不再需要該變量后的很長(zhǎng)時(shí)間內(nèi)仍然占用資源。它們的主要問(wèn)題是,任何模塊中的任何過(guò)程都能對(duì)它們進(jìn)行修改,并且很難跟蹤究竟是何處進(jìn)行修改的。占用資源是作用域涉及的一個(gè)重要問(wèn)題。如果創(chuàng)建全局的Recordset(記錄集)變量,問(wèn)題會(huì)復(fù)雜。對(duì)于Recordset對(duì)變量來(lái)說(shuō),盡量縮小作用域?qū)?huì)對(duì)應(yīng)用程序的可靠性產(chǎn)生巨大的影響。
8 .使用“&”字符對(duì)字符串進(jìn)行并置操作
“&”字符能清楚的傳達(dá)函數(shù)的意圖,消除閱讀者可能存在的疑點(diǎn),使閱讀者清楚地理解目前的操作是加法、還是字符串連接,并且不會(huì)因?yàn)轭?lèi)型的強(qiáng)制轉(zhuǎn)換而產(chǎn)生不正確的結(jié)果。