Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Microsoft mengembangkan sampel dan dokumentasi yang mengikuti panduan dalam topik ini. Jika Anda mengikuti konvensi pengkodian yang sama, Anda mungkin mendapatkan manfaat berikut:
Kode Anda akan memiliki tampilan yang konsisten, sehingga pembaca dapat lebih fokus pada konten, bukan tata letak.
Pembaca memahami kode Anda lebih cepat karena mereka dapat membuat asumsi berdasarkan pengalaman sebelumnya.
Anda dapat menyalin, mengubah, dan memelihara kode dengan lebih mudah.
Anda membantu memastikan bahwa kode Anda menunjukkan "praktik terbaik" untuk Visual Basic.
Konvensi Penamaan
Untuk informasi tentang panduan penamaan, lihat Topik Panduan Penamaan .
Jangan gunakan "Saya" atau "saya" sebagai bagian dari nama variabel. Praktik ini menciptakan kebingungan dengan objek
My.Anda tidak perlu mengubah nama objek dalam kode yang dihasilkan secara otomatis agar sesuai dengan pedoman.
Konvensi Tata Letak
Gunakan tab sebagai spasi, dan gunakan indentasi pintar dengan indentasi empat spasi.
Gunakan penataan kode yang rapi (memformat ulang) untuk memformat ulang kode Anda di editor kode. Untuk informasi selengkapnya, lihat Opsi, Editor Teks, Dasar (Visual Basic).
Gunakan hanya satu pernyataan per baris. Jangan gunakan karakter pemisah garis Visual Basic (
:).Hindari menggunakan karakter kelanjutan baris eksplisit "
_" untuk mendukung kelanjutan baris implisit di mana pun bahasa mengizinkannya.Gunakan hanya satu deklarasi per baris.
Jika Penataan rapi (memformat ulang) kode tidak memformat baris kelanjutan secara otomatis, indentasikan baris kelanjutan secara manual dengan satu hentian tab. Namun, selalu ratakan item ke kiri dalam daftar.
a As Integer, b As IntegerTambahkan setidaknya satu baris kosong antara metode dan definisi properti.
Konvensi Komentar
Letakkan komentar di baris terpisah alih-alih di akhir baris kode.
Mulai teks komentar dengan huruf besar, dan akhiri teks komentar dengan titik.
Sisipkan satu spasi antara pemisah komentar (
') dan teks komentar.' Here is a comment.Jangan kelilingi komentar dengan blok tanda bintang yang diformat.
Struktur Program
Saat Anda menggunakan metode
Main, gunakan konstruksi bawaan untuk membuat aplikasi konsol baru, dan gunakanMyuntuk argumen baris perintah.Sub Main() For Each argument As String In My.Application.CommandLineArgs ' Add code here to use the string variable. Next End Sub
Panduan Bahasa
Tipe Data String
Gunakan interpolasi string untuk menggabungkan string pendek, seperti yang ditunjukkan dalam kode berikut.
MsgBox($"hello{vbCrLf}goodbye")Untuk menambahkan string dalam perulangan, gunakan StringBuilder objek .
Dim longString As New System.Text.StringBuilder For count As Integer = 1 To 1000 longString.Append(count) Next
Delegasi Yang Dilonggarkan di Penanganan Aktivitas
Jangan secara eksplisit memenuhi syarat argumen (Object dan EventArgs) ke penanganan aktivitas. Jika Anda tidak menggunakan argumen peristiwa yang diteruskan ke peristiwa (misalnya, sender As Object, e As EventArgs), gunakan delegasi yang lebih longgar, dan abaikan argumen peristiwa dalam kode Anda:
Public Sub Form1_Load() Handles Form1.Load
End Sub
Tipe Data Tidak Ditandatangani
- Gunakan
Integeralih-alih tipe tak bertanda, kecuali jika diperlukan.
Larik
Gunakan sintaks pendek saat Anda menginisialisasi array pada baris deklarasi. Misalnya, gunakan sintaks berikut.
Dim letters1 As String() = {"a", "b", "c"}Jangan gunakan sintaks berikut.
Dim letters2() As String = New String() {"a", "b", "c"}Letakkan penanda array pada jenis, bukan pada variabel. Misalnya, gunakan sintaks berikut:
Dim letters4 As String() = {"a", "b", "c"}Jangan gunakan sintaks berikut:
Dim letters3() As String = {"a", "b", "c"}Gunakan sintaks { } saat Anda mendeklarasikan dan menginisialisasi array dari jenis data dasar. Misalnya, gunakan sintaks berikut:
Dim letters5 As String() = {"a", "b", "c"}Jangan gunakan sintaks berikut:
Dim letters6(2) As String letters6(0) = "a" letters6(1) = "b" letters6(2) = "c"
Menggunakan Kata Kunci With
Saat Anda melakukan serangkaian panggilan ke satu objek, pertimbangkan untuk menggunakan kata kunci With.
With orderLog
.Log = "Application"
.Source = "Application Name"
.MachineName = "Computer Name"
End With
Gunakan Try...Catch dan Pernyataan Using saat anda menggunakan Penanganan Pengecualian
Jangan gunakan On Error Goto.
Menggunakan Kata Kunci IsNot
Gunakan ... IsNot Nothing alih-alih Not ... Is Nothing.
Kata Kunci Baru
Gunakan instansiasi singkat. Misalnya, gunakan sintaks berikut:
Dim employees As New List(Of String)Baris sebelumnya setara dengan ini:
Dim employees2 As List(Of String) = New List(Of String)Gunakan penginisialisasi objek untuk objek baru alih-alih konstruktor tanpa parameter:
Dim orderLog As New EventLog With { .Log = "Application", .Source = "Application Name", .MachineName = "Computer Name"}
Penanganan peristiwa
Gunakan
HandlesdaripadaAddHandler:Private Sub ToolStripMenuItem1_Click() Handles ToolStripMenuItem1.Click End SubGunakan
AddressOf, dan jangan menginstansiasi delegasi secara eksplisit.Dim closeItem As New ToolStripMenuItem( "Close", Nothing, AddressOf ToolStripMenuItem1_Click) Me.MainMenuStrip.Items.Add(closeItem)Saat Anda menentukan peristiwa, gunakan sintaks pendek, dan biarkan pengkompilasi menentukan delegasi:
Public Event SampleEvent As EventHandler(Of SampleEventArgs) ' or Public Event SampleEvent(ByVal source As Object, ByVal e As SampleEventArgs)Jangan verifikasi apakah
Nothing(null) event sebelum Anda memanggil metodeRaiseEvent.RaiseEventmemeriksaNothingsebelum memunculkan peristiwa.
Menggunakan Anggota Bersama
Panggil Shared anggota dengan menggunakan nama kelas, bukan dari variabel instans.
Menggunakan Literal XML
Literal XML menyederhanakan tugas paling umum yang Anda temui saat bekerja dengan XML (misalnya, memuat, mengkueri, dan mengubah). Saat Anda mengembangkan dengan XML, ikuti panduan berikut:
Gunakan literal XML untuk membuat dokumen dan fragmen XML alih-alih memanggil API XML secara langsung.
Impor namespace XML di tingkat file atau proyek untuk memanfaatkan pengoptimalan performa untuk literal XML.
Gunakan properti sumbu XML untuk mengakses elemen dan atribut dalam dokumen XML.
Gunakan ekspresi yang disematkan untuk menyertakan nilai dan untuk membuat XML dari nilai yang ada alih-alih menggunakan panggilan API seperti
Addmetode :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
Kueri LINQ
Gunakan nama yang bermakna untuk variabel kueri:
Dim seattleCustomers = From cust In customers Where cust.City = "Seattle"Berikan nama untuk elemen dalam kueri untuk memastikan bahwa nama properti jenis anonim dijadikan huruf besar dengan benar menggunakan kapitalisasi Pascal:
Dim customerOrders = From customer In customers Join order In orders On customer.CustomerID Equals order.CustomerID Select Customer = customer, Order = orderGanti nama properti ketika nama properti dalam hasil akan bersifat ambigu. Misalnya, jika kueri Anda mengembalikan nama pelanggan dan ID pesanan, ganti namanya alih-alih meninggalkannya sebagai
NamedanIDdalam hasilnya:Dim customerOrders2 = From cust In customers Join ord In orders On cust.CustomerID Equals ord.CustomerID Select CustomerName = cust.Name, OrderID = ord.IDGunakan inferensi jenis dalam deklarasi variabel kueri dan variabel rentang:
Dim customerList = From cust In customersSesuaikan klausa kueri di bawah pernyataan
From.Dim newyorkCustomers = From cust In customers Where cust.City = "New York" Select cust.LastName, cust.CompanyNameGunakan
Whereklausa sebelum klausul kueri lain sehingga klausa kueri nanti beroperasi pada kumpulan data yang difilter:Dim newyorkCustomers2 = From cust In customers Where cust.City = "New York" Order By cust.LastNameJoinGunakan klausul untuk secara eksplisit menentukan operasi gabungan alih-alih menggunakanWhereklausul untuk secara implisit menentukan operasi gabungan:Dim customerList2 = From cust In customers Join order In orders On cust.CustomerID Equals order.CustomerID Select cust, order