Aracılığıyla paylaş


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ı

h63fsef3.collapse_all(tr-tr,VS.110).gifString 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
    

h63fsef3.collapse_all(tr-tr,VS.110).gifOlay 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

h63fsef3.collapse_all(tr-tr,VS.110).gifİmzasız veri türü

  • Kullanım Integer yerine burada gerekli olduğu durumlar dışında imzasız türleri.

h63fsef3.collapse_all(tr-tr,VS.110).gifDiziler

  • 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"
    

h63fsef3.collapse_all(tr-tr,VS.110).gifUse 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

h63fsef3.collapse_all(tr-tr,VS.110).gifİçin try...Catch ve özel durum işleme kullandığınızda ifadeleri kullanma

Kullanmak istemediğiniz On Error Goto.

h63fsef3.collapse_all(tr-tr,VS.110).gifIsNot anahtar sözcüğünü kullanın

Kullanım IsNot anahtar sözcüğü yerine Not...Is Nothing.

h63fsef3.collapse_all(tr-tr,VS.110).gifNew 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"}
    

h63fsef3.collapse_all(tr-tr,VS.110).gifOlay 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.

h63fsef3.collapse_all(tr-tr,VS.110).gifPaylaşılan üyeleri kullanmak

Call Shared sınıf adı değil, bir örnek değişkenini kullanarak üyeleri.

h63fsef3.collapse_all(tr-tr,VS.110).gifxml 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
    

h63fsef3.collapse_all(tr-tr,VS.110).gifLINQ 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
    

Ayrıca bkz.

Diğer Kaynaklar

Güvenli kodlama yönergeleri