' 寫法一:省略 .Text
Dim s$
s$ = Text1
' 寫法二:顯式指定屬性
Dim s As String
s = Text1.Text
運行結果完全相同,但在工程規範上強烈建議使用寫法二。
TextBox,默認屬性即 Text。Text1 而不加屬性時,編譯器自動補全為 Text1.Text。| 維度 | 省略 .Text | 顯式 .Text |
|---|---|---|
| 可讀性 | 低:讀者需知道控件默認屬性才能理解意圖 | 高:自文檔化,意圖明確 |
| 維護性 | 差:若控件類型變更(如換為 Label),默認屬性可能改為 Caption,導致邏輯錯誤 | 好:編譯器會報錯提示屬性不存在 |
| 團隊協作 | 新手易誤解為控件對象本身 | 統一規範,降低認知負擔 |
| 代碼分析工具 | 靜態分析可能誤判 | 準確識別屬性訪問 |
Text1.Text、Label1.Caption、Combo1.ListIndex。\.Text 等默認屬性。雖然 VB6 已停止主流支持,但大量存量系統仍在運行。養成「顯式優於隱式」的習慣,能顯著降低維護成本,也為未來遷移至 VB.NET/C# 奠定良好基礎(.NET 無默認屬性機制,必須顯式調用)。