Sdílet prostřednictvím


Konvence kódování jazyka Visual Basic

Microsoft vyvíjí, ukázek a dokumentace, postupujte podle pokynů v tomto tématu.Pokud budete postupovat podle stejného kódování úmluv, může získat následující výhody:

  • Váš kód bude mít jednotný vzhled, tak, aby čtenáři mohou lépe soustředit na obsah, nikoli rozložení.

  • Čtenářům pochopit váš kód více rychle protože využijí předpoklady, na základě předchozích zkušeností.

  • Můžete kopírovat, změnit a snadněji spravovat kód.

  • Můžete zajistit, aby váš kód ukazuje "osvědčené postupy" v jazyce Visual Basic.

Zásady vytváření názvů

  • Informace o obecných zásadách pro pojmenování naleznete v tématu Guidelines for Names téma.

  • Nepoužívejte jako součást názvu proměnné "My" nebo "my".Tento postup vytvoří záměně s My objekty.

  • Není třeba měnit názvy objektů v automaticky vygenerovaný kód tak, aby byly podle pokynů.

Rozložení konvence

  • Nahradit tabulátory mezerami a použít inteligentní odsazení s odsazením čtyři místa.Další informace naleznete v tématu Jak: nastavení kartu Editor a odsazení.

  • Použití jsi výpis (přeformátování) kódu přeformátování kódu v editoru kódu.Další informace naleznete v tématu Základní možnosti textového editoru (Visual Basic).

  • Použijte pouze jeden příkaz na každém řádku.Nepoužívejte znak oddělovače řádku jazyka Visual Basic (:).)

  • Je-li to jazyk umožňuje nepoužívejte znak pokračování řádku explicitní "_" namísto implicitní pokračování řádku.

  • Používejte pouze jedno prohlášení na jeden řádek.

  • Pokud jsi výpis (přeformátování) kódu nemá formát pokračování řádky automaticky, ručně odsazení pokračování řádky jednu zarážku tabulátoru.Nicméně vždy zarovnaná vlevo položek v seznamu.

    a As Integer,
    b As Integer
    
  • Přidejte alespoň jeden prázdný řádek mezi definice metody a vlastnosti.

Přidávání poznámek konvence

  • Vložte komentáře na samostatném řádku namísto na konci řádku kódu.

  • Spuštění text poznámky s velkým písmenem a ukončení komentář s dobou.

  • Vložte jednu mezeru mezi oddělovačem komentářů (') a text poznámky.

    ' Here is a comment.
    
  • Ne uzavřete komentář formátované bloky hvězdičky.

Struktura programu

  • Při použití Main metody, používají výchozí konstrukce pro nové aplikace konzoly a My pro argumenty příkazového řádku.

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

Pokyny pro jazyk

h63fsef3.collapse_all(cs-cz,VS.110).gifDatový typ String

  • Chcete-li zřetězení řetězců, použijte znak ampersand (&).

    MsgBox("hello" & vbCrLf & "goodbye")
    
  • Přidat řetězce ve smyčkách, použít StringBuilder objektu.

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

h63fsef3.collapse_all(cs-cz,VS.110).gifUvolněné delegátů v obslužné rutině události

Nesplňují explicitně argumenty (objekt a EventArgs) do obslužné rutiny události.Pokud nepoužíváte argumenty události, které jsou předány události (například odesílatele jako objekt, e jako EventArgs), použijte uvolněné delegátů a vynechat argumentů události ve vašem kódu:

Public Sub Form1_Load() Handles Form1.Load
End Sub

h63fsef3.collapse_all(cs-cz,VS.110).gifNepodepsaný datový typ.

  • Použití Integer spíše než nepodepsané typy, s výjimkou případů, kdy jsou nezbytné.

h63fsef3.collapse_all(cs-cz,VS.110).gifMatice

  • Krátké syntaxi používejte, když inicializujete polí v řádku prohlášení.Například použijte následující syntaxi.

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

    Nepoužívejte následující syntaxi.

    Dim letters2() As String = New String() {"a", "b", "c"}
    
  • Vložte pole označení typu, nikoli proměnné.Například použijte následující syntaxi:

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

    Nepoužívejte následující syntaxi:

    Dim letters3() As String = {"a", "b", "c"}
    
  • Je-li deklarovat a inicializovat pole základní datové typy, použijte syntaxi {}.Například použijte následující syntaxi:

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

    Nepoužívejte následující syntaxi:

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

h63fsef3.collapse_all(cs-cz,VS.110).gifPoužívá s klíčovým slovem

Provedete-li série volání jeden objekt, zvažte použití With klíčové slovo:

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

h63fsef3.collapse_all(cs-cz,VS.110).gifPoužijte Try...Catch a pomocí příkazů při použití zpracování výjimek

Nepoužívejte On Error Goto.

h63fsef3.collapse_all(cs-cz,VS.110).gifPoužijte klíčové slovo IsNot

Použití IsNot klíčové slovo namísto Not...Is Nothing.

h63fsef3.collapse_all(cs-cz,VS.110).gifNové klíčové slovo

  • Používejte krátké instance.Například použijte následující syntaxi:

    Dim employees As New List(Of String)
    

    Na předchozím řádku odpovídá tento:

    Dim employees2 As List(Of String) = New List(Of String)
    
  • Používejte inicializátory objektů pro nové objekty namísto konstruktor bez parametrů:

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

h63fsef3.collapse_all(cs-cz,VS.110).gifZpracování událostí

  • Use Handles rather than AddHandler:

    Private Sub ToolStripMenuItem1_Click() Handles ToolStripMenuItem1.Click
    End Sub
    
  • Použití AddressOfa výslovně instanciovat delegáta:

    Dim closeItem As New ToolStripMenuItem( 
        "Close", Nothing, AddressOf ToolStripMenuItem1_Click)
    Me.MainMenuStrip.Items.Add(closeItem)
    
  • Když definujete události, použijte krátký syntaxi a nechat kompilátor definování delegáta:

    Public Event SampleEvent As EventHandler(Of SampleEventArgs)
    ' or
    Public Event SampleEvent(ByVal source As Object, 
                              ByVal e As SampleEventArgs)
    
  • Nelze ověřit, zda je událost Nothing (null), než zavoláte RaiseEvent metoda.RaiseEventkontroluje Nothing před vyvolá událost.

h63fsef3.collapse_all(cs-cz,VS.110).gifPoužití sdílených členů

Volání Shared členy pomocí názvu třídy, nikoli z proměnné instance.

h63fsef3.collapse_all(cs-cz,VS.110).gifPoužít literály XML

Literály XML zjednodušit nejobvyklejších úkolů, které se vyskytnou při práci s XML (například zatížení dotazu a transformace).Při vývoji XML, postupujte podle těchto pokynů:

  • Literály XML slouží k vytváření dokumentů XML a fragmenty namísto přímé volání rozhraní API XML.

  • Importujte jmenných prostorů XML na úrovni souboru nebo projektu využít k optimalizaci výkonu pro XML literály.

  • Pomocí vlastnosti osy XML přístup prvky a atributy v dokumentu XML.

  • Vložené výrazy použít, zahrnout hodnoty a vytvořit z existující hodnoty namísto volání rozhraní API XML Add metoda:

    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(cs-cz,VS.110).gifDotazy LINQ

  • Použití smysluplné názvy proměnných dotazu:

    Dim seattleCustomers = From cust In customers 
                           Where cust.City = "Seattle"
    
  • Zadejte názvy prvků v dotazu, abyste se ujistili, že názvy vlastností anonymní typů správně realizují pomocí Pascal velikost písmen:

    Dim customerOrders = From customer In customers 
                         Join order In orders 
                           On customer.CustomerID Equals order.CustomerID 
                         Select Customer = customer, Order = order
    
  • Vlastnosti přejmenujte názvy vlastností ve výsledku by být nejednoznačný.Například pokud dotaz vrátí zákazníkovi, název a ID objednávky, přejmenujte je místo ponechává jako Name a ID ve výsledku:

    Dim customerOrders2 = From cust In customers 
                          Join ord In orders
                            On cust.CustomerID Equals ord.CustomerID 
                          Select CustomerName = cust.Name, 
                                 OrderID = ord.ID
    
  • V prohlášení o rozsahu proměnných a proměnných dotazu použijte odvození typu proměnné:

    Dim customerList = From cust In customers
    
  • Zarovnat klauzule dotazu pod From prohlášení:

    Dim newyorkCustomers = From cust In customers 
                           Where cust.City = "New York" 
                           Select cust.LastName, cust.CompanyName
    
  • Použití Where doložky před druhý dotaz klauzule tak, aby pozdější klauzule dotazu pracují filtrované sady dat:

    Dim newyorkCustomers2 = From cust In customers 
                            Where cust.City = "New York" 
                            Order By cust.LastName
    
  • Použití Join klauzule explicitně definovat operaci spojení, namísto použití Where implicitně definovat operace join klauzule:

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

Viz také

Další zdroje

Pokyny pro zabezpečené kódování