Aracılığıyla paylaş


Visual Basic Kodlama Kuralları

Microsoft, bu konudaki yönergeleri izleyen örnekler ve belgeler geliştirmektedir. Aynı kodlama kurallarını izlerseniz aşağıdaki avantajları elde edebilirsiniz:

  • Kodunuz tutarlı bir görünüme sahip olur, böylece okuyucular düzene değil içeriğe daha iyi odaklanabilir.

  • Önceki deneyime göre varsayımlarda bulunabilecekleri için okuyucular kodunuzu daha hızlı anlayabilir.

  • Kodu daha kolay kopyalayabilir, değiştirebilir ve koruyabilirsiniz.

  • Kodunuzun Visual Basic için "en iyi yöntemleri" gösterdiğinde emin olmanıza yardımcı olursunuz.

Adlandırma Kuralları

  • Adlandırma yönergeleri hakkında bilgi için Adlandırma Yönergeleri konusuna bakın.

  • "Değişken ismi içinde 'My' veya 'my' kullanmayın." Bu uygulama My nesneleriyle karışıklığa neden olur.

  • Otomatik olarak oluşturulan koddaki nesnelerin adlarını, yönergelere uygun hale getirmek için değiştirmeniz gerekmez.

Düzen Kuralları

  • Sekmeler yerine boşluk ekleyin ve dört boşluklu girintilerle akıllı girintileme kullanın.

  • Pretty Listing (yeniden biçimlendirme) özelliğini kullanarak kodunuzu kod düzenleyicisinde yeniden biçimlendirin. Daha fazla bilgi için bkz. Seçenekler, Metin Düzenleyicisi, Temel (Visual Basic).

  • Satır başına yalnızca bir deyim kullanın. Visual Basic çizgi ayırıcı karakterini (: ) kullanmayın.

  • Dilin izin verdiği her yerde örtük satır devamlılığı yerine "_" açık satır devamlılığı karakterini kullanmaktan kaçının.

  • Satır başına yalnızca bir bildirim kullanın.

  • Kodun Pretty listing (yeniden biçimlendirme) özelliği devam satırlarını otomatik olarak biçimlendirmiyorsa, devam satırlarını bir sekme mesafesi kadar manuel olarak girintili yapın. Ancak, listedeki öğeleri her zaman sola hizalayın.

    a As Integer,  
    b As Integer  
    
  • Yöntem ve özellik tanımları arasına en az bir boş satır ekleyin.

Yorumlama Kuralları

  • Açıklamaları bir kod satırının sonuna yerine ayrı bir satıra yerleştirin.

  • Açıklama metnini büyük harfle başlatın ve açıklama metnini noktayla bitirin.

  • Açıklama sınırlayıcısı (') ile açıklama metni arasına bir boşluk ekleyin.

    ' Here is a comment.
    
  • Açıklamaları biçimlendirilmiş yıldız bloklarıyla çevrelemeyin.

Program Yapısı

  • Main yöntemini kullandığınızda, yeni konsol uygulamaları için varsayılan yapıyı kullanın ve komut satırı bağımsız değişkenleri için My kullanın.

    Sub Main()
      For Each argument As String In My.Application.CommandLineArgs
        ' Add code here to use the string variable.
      Next
    End Sub
    

Dil Yönergeleri

Dize Veri Türü

  • Aşağıdaki kodda gösterildiği gibi kısa dizeleri birleştirmek için dize ilişkilendirmesini kullanın.

    MsgBox($"hello{vbCrLf}goodbye")
    
  • Dizeleri döngülere eklemek için nesnesini kullanın StringBuilder .

    Dim longString As New System.Text.StringBuilder
    For count As Integer = 1 To 1000
      longString.Append(count)
    Next
    

Olay İşleyicilerinde Esnek Temsilciler

Bağımsız değişkenleri (Object ve EventArgs) olay işleyicilerine net bir şekilde tanımlamayın. Bir olaya geçirilen olay bağımsız değişkenlerini kullanmıyorsanız (örneğin , sender As Objecte As EventArgs), gevşek temsilciler kullanın ve kodunuzda olay bağımsız değişkenlerini dışarıda bırakın:

Public Sub Form1_Load() Handles Form1.Load
End Sub

İmzasız Veri Türü

  • Gerekli oldukları durumlar dışında imzasız türler yerine kullanın Integer .

Diziler

  • Bildirim satırında dizileri başlatırken kısa söz dizimini kullanın. Örneğin, aşağıdaki söz dizimini kullanın.

    Dim letters1 As String() = {"a", "b", "c"}
    

    Aşağıdaki söz dizimini kullanmayın.

    Dim letters2() As String = New String() {"a", "b", "c"}
    
  • Dizi belirleyicisini değişkenine değil türüne yerleştirin. Örneğin, aşağıdaki söz dizimini kullanın:

    Dim letters4 As String() = {"a", "b", "c"}
    

    Aşağıdaki söz dizimini kullanmayın:

    Dim letters3() As String = {"a", "b", "c"}
    
  • Temel veri türlerinin dizilerini bildirir ve başlatırken { } söz dizimini kullanın. Örneğin, aşağıdaki söz dizimini kullanın:

    Dim letters5 As String() = {"a", "b", "c"}
    

    Aşağıdaki söz dizimini kullanmayın:

    Dim letters6(2) As String
    letters6(0) = "a"
    letters6(1) = "b"
    letters6(2) = "c"
    

With Anahtar Sözcüğünü Kullanma

Bir nesneye bir dizi çağrı yaptığınızda anahtar sözcüğünü With kullanmayı göz önünde bulundurun:

With orderLog
  .Log = "Application"
  .Source = "Application Name"
  .MachineName = "Computer Name"
End With

Try...Catch ve Using Deyimlerini Kullanarak Hata Ayıklama Yapın

kullanmayın On Error Goto.

IsNot Anahtar Sözcüğünü Kullanma

... IsNot Nothingyerine Not ... Is Nothing kullanın.

Yeni Anahtar Sözcük

  • Kısa instansiyasyon kullanın. Örneğin, aşağıdaki söz dizimini kullanın:

    Dim employees As New List(Of String)
    

    Yukarıdaki satır şuna eşdeğerdir:

    Dim employees2 As List(Of String) = New List(Of String)
    
  • Parametresiz oluşturucu yerine yeni nesneler için nesne başlatıcıları kullanın:

    Dim orderLog As New EventLog With { 
        .Log = "Application", 
        .Source = "Application Name", 
        .MachineName = "Computer Name"}
    

Olay İşleme

  • yerine HandleskullanınAddHandler:

    Private Sub ToolStripMenuItem1_Click() Handles ToolStripMenuItem1.Click
    End Sub
    
  • Kullan AddressOf, ve temsilcinin örneğini açıkça oluşturmayın:

    Dim closeItem As New ToolStripMenuItem( 
        "Close", Nothing, AddressOf ToolStripMenuItem1_Click)
    Me.MainMenuStrip.Items.Add(closeItem)
    
  • Bir olay tanımlarken kısa söz dizimini kullanın ve derleyicinin temsilciyi tanımlamasına izin verin:

    Public Event SampleEvent As EventHandler(Of SampleEventArgs)
    ' or
    Public Event SampleEvent(ByVal source As Object, 
                              ByVal e As SampleEventArgs)
    
  • yöntemini çağırmadan önce bir olayın Nothing (null) olup olmadığını doğrulamayın RaiseEvent . RaiseEvent olayı tetiklemeden önce Nothing'i kontrol eder.

Paylaşılan Üyeleri Kullanma

Bir örnek değişkeninden değil sınıf adını kullanarak üyeleri çağırın Shared .

XML Sabitlerini Kullanma

XML değişmez değerleri, XML ile çalışırken karşılaştığınız en yaygın görevleri (örneğin, yükleme, sorgu ve dönüştürme) basitleştirir. XML ile geliştirme yaparken şu yönergeleri izleyin:

  • XML belgeleri ve parçaları oluşturmak için doğrudan XML API'lerini çağırmak yerine XML değişmezlerini kullanın.

  • XML değişmez değerleri için performans iyileştirmelerinden yararlanmak için dosya veya proje düzeyinde XML ad alanlarını içeri aktarın.

  • XML belgesindeki öğelere ve özniteliklere erişmek için XML ekseni özelliklerini kullanın.

  • Ekli ifadeleri kullanarak değerleri ekleyin ve yöntemi gibi Add API çağrılarını kullanmak yerine mevcut değerlerden XML oluşturun:

    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ı

  • Sorgu değişkenleri için anlamlı adlar kullanın:

    Dim seattleCustomers = From cust In customers 
                           Where cust.City = "Seattle"
    
  • Anonim türlerin özellik adlarının Pascal biçimlendirmesi kullanılarak doğru şekilde büyük harfle başladığından emin olmak için sorgudaki öğelerin adlarını belirtin.

    Dim customerOrders = From customer In customers 
                         Join order In orders 
                           On customer.CustomerID Equals order.CustomerID 
                         Select Customer = customer, Order = order
    
  • Sonuçtaki özellik adları belirsiz olduğunda özellikleri yeniden adlandırın. Örneğin, sorgunuz bir müşteri adı ve bir sipariş kimliği döndürüyorsa, bunları sonuçta Name ve ID olarak bırakmak yerine yeniden adlandırın.

    Dim customerOrders2 = From cust In customers 
                          Join ord In orders
                            On cust.CustomerID Equals ord.CustomerID 
                          Select CustomerName = cust.Name, 
                                 OrderID = ord.ID
    
  • Sorgu değişkenlerinin ve aralık değişkenlerinin bildiriminde tür çıkarımı kullanın:

    Dim customerList = From cust In customers
    
  • Sorgu yan tümcelerini From deyiminin altına hizalayın:

    Dim newyorkCustomers = From cust In customers 
                           Where cust.City = "New York" 
                           Select cust.LastName, cust.CompanyName
    
  • Sonraki sorgu yan tümcelerinin filtrelenmiş veri kümesinde çalışması için diğer sorgu yan tümcelerinden önce yan tümceleri kullanın Where :

    Dim newyorkCustomers2 = From cust In customers 
                            Where cust.City = "New York" 
                            Order By cust.LastName
    
  • Join yan tümcesini kullanarak bir birleştirme işlemini açıkça tanımlamak yerine, Where yan tümcesini kullanarak bir birleştirme işlemini örtük olarak tanımlayın.

    Dim customerList2 = From cust In customers 
                        Join order In orders 
                          On cust.CustomerID Equals order.CustomerID 
                        Select cust, order
    

Ayrıca bakınız

  • Güvenli Kodlama Yönergeleri