Visual Basic kodlama kuralları
Microsoft, örnekler ve belgeler bu konu başlığı altındaki yönergeleri izleyin geliştirir.Aynı kodlama kuralları izlerseniz, aşağıdaki avantajlara sahip:
Okuyucular daha iyi içerik, Düzen değil odaklanabilecek şekilde kodunuzu tutarlı bir görünüm olacaktır.
Çünkü önceki deneyimleri temel varsayımları yaptıkları okuyucular kodunuzu daha hızlı bir şekilde anlayın.
Kopyalama, değiştirme ve kodunu daha kolay korumak.
Kodunuzu Visual Basic için "en iyi uygulamalar" gösterir olun yardımcı olur.
Adlandırma Kuralları
Adlandırma kuralları hakkında daha fazla bilgi için bkz: Guidelines for Names konu.
"Belgelerim" veya "my" değişken adı bir parçası olarak kullanmayın.Bu uygulama ile karışıklık oluşturur My nesneler.
Bunları yönergelere uygun hale getirmek için otomatik olarak oluşturulan kodu nesnelerinin adlarını değiştirmek zorunda değildir.
Düzeni kuralları
Sekmeleri boşluk olarak Ekle ve akıllı Girintileme ile dört alan girintiler kullanın.Daha fazla bilgi için bkz. Nasıl yapılır: Düzenleyici sekmesini ve girinti seçenekleri ayarlama.
Kullanım (kodunu yeniden biçimlendirme) oldukça listeleme Kod Düzenleyicisi'nde kodunuzu yeniden biçimlendirmek için.Daha fazla bilgi için bkz. Seçenekleri, metin düzenleyicisi, Basic (Visual Basic).
Her satırda tek bir ifade kullanın.Visual Basic satır ayırıcı karakteri kullanmayın (:).)
Dil veren her yerde örtülü satır devamı yararına açık satır devamı karakter "_" kullanmaktan kaçının.
Her satırda tek bir bildirim kullanın.
(Kodunu yeniden biçimlendirme) oldukça listeleme devamı satırları bir sekme durağı otomatik olarak, el ile devamı Çizgileri Biçimlendir girintili değildir.Ancak, her zaman sol-listedeki öğeleri hizalayın.
a As Integer, b As Integer
Yöntem ve özellik tanımları arasında en az bir boş satır ekleyin.
Yorum oluşturma kuralları
Açıklama yerine bir kod satırının sonunda ayrı bir satıra yerleştirin.
Son nokta açıklama metni ve açıklama metni büyük harf ile başlayın.
Açıklama metni ve açıklama sınırlayıcısı (') arasına bir boşluk ekleyin.
' Here is a comment.
Yıldız biçimli blokları yorumlarla çevreleyen değil.
Program yapısı
Kullandığınızda, Main yöntemi, yeni konsol uygulamaları için varsayılan yapı kullanıyorsanız ve My komut satırı bağımsız değişkenler için.
Sub Main() For Each argument As String In My.Application.CommandLineArgs ' Add code here to use the string variable. Next End Sub
Dil kuralları
String veri türü
Dizeleri bitiştirmek için kullanmak (&).
MsgBox("hello" & vbCrLf & "goodbye")
Dizelerdeki döngüleri eklemek için kullanın StringBuilder nesne.
Dim longString As New System.Text.StringBuilder For count As Integer = 1 To 1000 longString.Append(count) Next
Olay işleyicileri, gevşek temsilciler
Açıkça olay işleyicileri (Object ve EventArgs) bağımsız değişken geçerli olmayan.Bir olay (örneğin, gönderen olarak nesnesi olarak EventArgs e) iletilen olay bağımsız değişkenlerinin kullanmıyorsanız, gevşek temsilciler kullanın ve kodunuzda olay bağımsız değişkenlerinin dışarı bırakın:
Public Sub Form1_Load() Handles Form1.Load
End Sub
İmzasız veri türü
- Kullanım Integer yerine burada gerekli olduğu durumlar dışında imzasız türleri.
Diziler
Diziler üzerinde beyanname satırı başlatmak kısa sözdizimi kullanın.Örneğin, aşağıdaki sözdizimini kullanın.
Dim letters1 As String() = {"a", "b", "c"}
Aşağıdaki sözdizimini kullanmayın.
Dim letters2() As String = New String() {"a", "b", "c"}
Dizi göstergesi türü değil, değişken yerleştirin.Örneğin, aşağıdaki sözdizimini kullanın:
Dim letters4 As String() = {"a", "b", "c"}
Aşağıdaki sözdizimini kullanmayın:
Dim letters3() As String = {"a", "b", "c"}
Bildirmek ve temel veri türleri dizileri başlatmak {} sözdizimini kullanın.Örneğin, aşağıdaki sözdizimini kullanın:
Dim letters5() As String = {"a", "b", "c"}
Aşağıdaki sözdizimini kullanmayın:
Dim letters6(2) As String letters6(0) = "a" letters6(1) = "b" letters6(2) = "c"
Use anahtar sözcüğü ile
Bir dizi için bir nesne çağrısı yaptığınızda, kullanmayı düşünün With anahtar sözcük:
With orderLog
.Log = "Application"
.Source = "Application Name"
.MachineName = "Computer Name"
End With
İçin try...Catch ve özel durum işleme kullandığınızda ifadeleri kullanma
Kullanmak istemediğiniz On Error Goto.
IsNot anahtar sözcüğünü kullanın
Kullanım IsNot anahtar sözcüğü yerine Not...Is Nothing.
New anahtar sözcüğü
Kısa oluşturmada kullanın.Örneğin, aşağıdaki sözdizimini kullanın:
Dim employees As New List(Of String)
Önceki satırı şuna eşdeğerdir:
Dim employees2 As List(Of String) = New List(Of String)
Parametresiz oluşturucusu yerine yeni nesneleri için nesne başlatıcıları kullanın:
Dim orderLog As New EventLog With { .Log = "Application", .Source = "Application Name", .MachineName = "Computer Name"}
Olay işleme
Use Handles rather than AddHandler:
Private Sub ToolStripMenuItem1_Click() Handles ToolStripMenuItem1.Click End Sub
Kullanım AddressOfve temsilci açıkça örneğini değil:
Dim closeItem As New ToolStripMenuItem( "Close", Nothing, AddressOf ToolStripMenuItem1_Click) Me.MainMenuStrip.Items.Add(closeItem)
Bir olay tanımladığınızda, kısa sözdizimi kullanın ve temsilci tanımlamak derleyici olanak verir:
Public Event SampleEvent As EventHandler(Of SampleEventArgs) ' or Public Event SampleEvent(ByVal source As Object, ByVal e As SampleEventArgs)
Bir olay olup olmadığını doğrulamak değil Nothing (null) çağırmadan önce RaiseEvent yöntem.RaiseEventdenetlediği Nothing önce olayını ortaya çıkarır.
Paylaşılan üyeleri kullanmak
Call Shared sınıf adı değil, bir örnek değişkenini kullanarak üyeleri.
xml harfleri kullanma
xml harfleri (örneğin, yük, sorgu ve dönüşüm) xml ile çalışırken, karşınıza en yaygın görevleri basitleştirir.xml ile geliştirdiğinizde, aşağıdaki yönergeleri izleyin:
Değişmez değerler xml, xml belgelerini ve parçalarını xml API'larını doğrudan çağırma yerine oluşturmak için kullanın.
xml rakamları için performans iyileştirmeleri yararlanmak için dosya veya proje düzeyinde xml isim uzaylarını içeri aktarın.
Öğeler ve öznitelikler xml belgesindeki erişmek için xml eksen özellikleri kullanın.
xml API çağrıları kullanarak yerine varolan değerleri oluşturmak ve değerlerini içerecek biçimde katıştırılmış ifadeleri kullanma Add yöntemi:
Private Function GetHtmlDocument( ByVal items As IEnumerable(Of XElement)) As String Dim htmlDoc = <html> <body> <table border="0" cellspacing="2"> <%= From item In items Select <tr> <td style="width:480"> <%= item.<title>.Value %> </td> <td><%= item.<pubDate>.Value %></td> </tr> %> </table> </body> </html> Return htmlDoc.ToString() End Function
LINQ sorgularını
Sorgu değişkenleri için anlamlı adlar kullanın:
Dim seattleCustomers = From cust In customers Where cust.City = "Seattle"
Pascal kullanarak anonim türlerinin özellik adlarını doğru aktifleştirilmesini emin olmak için bir sorgu içindeki öğelerin adlarını sağlamak Kasa:
Dim customerOrders = From customer In customers Join order In orders On customer.CustomerID Equals order.CustomerID Select Customer = customer, Order = order
Özellikler, özellik adları sonuç belirsiz, yeniden adlandırın.Sorgunuz bir müşteri adı ve Sipariş Kimliği döndürür, örneğin olarak bırakmak yerine adlandırabilir Name ve ID sonuç:
Dim customerOrders2 = From cust In customers Join ord In orders On cust.CustomerID Equals ord.CustomerID Select CustomerName = cust.Name, OrderID = ord.ID
Tür çıkarımı sorgu değişkenleri ve aralık değişkeni bildirimi kullanın:
Dim customerList = From cust In customers
Sorgu yan tümceleri altında hizalama From ifadesi:
Dim newyorkCustomers = From cust In customers Where cust.City = "New York" Select cust.LastName, cust.CompanyName
Kullanım Where önce diğer yan tümceleri sorgu yan tümceleri, böylece daha sonra sorgu yan tümceleri filtre uygulanmış veri kümesi üzerinde çalışır:
Dim newyorkCustomers2 = From cust In customers Where cust.City = "New York" Order By cust.LastName
Kullanım Join yan tümcesi yerine bir birleştirme işlemi açıkça tanımlamak için Where yan tümcesi dolaylı olarak bir birleştirme işlemi tanımlamak için:
Dim customerList2 = From cust In customers Join order In orders On cust.CustomerID Equals order.CustomerID Select cust, order