ID Artikel: 110264 - Kajian Terakhir: 14 September 2011 - Revisi: 2.0 INFO: Layanan Microsoft konsultasi konvensi penamaan untuk Visual Basic
Pada Halaman iniRINGKASANIni adalah ide yang baik untuk menetapkan Konvensi penamaan untuk Anda Visual Basic
kode. Artikel ini memberikan konvensi penamaan yang digunakan oleh Microsoft
Layanan konsultasi (MCS). Dokumen ini merupakan superset dari Visual Basic coding Konvensi ditemukan di Visual Basic "Programmer's Guide." Catatan: Kontrol pihak ketiga yang disebutkan dalam artikel ini dibuat oleh vendor independen terhadap Microsoft. Microsoft membuat tidak ada jaminan yang tersirat atau sebaliknya, berkenaan dengan kinerja atau keandalan kontrol ini. INFORMASI LEBIH LANJUTKonvensi penamaan membantu Visual Basic programer:
Pengaturan lingkungan pilihanGunakan pilihan yang eksplisit. Menyatakan semua variabel untuk menghemat waktu dengan pemrograman mengurangi jumlah bug yang disebabkan oleh kesalahan ketik (misalnya, aUserNameTmp vs.. sUserNameTmp vs sUserNameTemp). Dalam dialog Opsi lingkungan, mengatur Memerlukan Deklarasi variabel untuk ya. Pernyataan eksplisit pilihan memerlukan Anda menyatakan semua variabel dalam Visual Basic program. Menyimpan file teks ASCII. Menyimpan bentuk (.FRM) dan modul (.BAS) file sebagai ASCII teks untuk memfasilitasi penggunaan sistem kontrol versi dan meminimalkan kerusakan yang dapat disebabkan oleh korupsi disk. Selain itu, Anda dapat:
Objek konvensi penamaan untuk standar objekTabel berikut mendefinisikan MCS standar objek nama awalan. Ini prefiks konsisten dengan orang-orang yang didokumentasikan dalam Visual Basic Programmer panduan.Prefix Object Type Example ------------------------------------------------------- ani Animation button aniMailBox bed Pen Bedit bedFirstName cbo Combo box and drop down list box cboEnglish chk Checkbox chkReadOnly clp Picture clip clpToolbar cmd (3d) Command button (3D) cmdOk (cmd3dOk) com Communications comFax ctr Control (when specific type unknown) ctrCurrent dat Data control datBiblio dir Directory list box dirSource dlg Common dialog control dlgFileOpen drv Drive list box drvTarget fil File list box filSource frm Form frmEntry fra (3d) Frame (3d) fraStyle (fra3dStyle) gau Gauge gauStatus gpb Group push button gpbChannel gra Graph graRevenue grd Grid grdPrices hed Pen Hedit hedSignature hsb Horizontal scroll bar hsbVolume img Image imgIcon ink Pen Ink inkMap key Keyboard key status keyCaps lbl Label lblHelpMessage lin Line linVertical lst List box lstPolicyCodes mdi MDI child form mdiNote mpm MAPI message mpmSentMessage mps MAPI session mpsSession mci MCI mciVideo mnu Menu mnuFileOpen opt (3d) Option Button (3d) optRed (opt3dRed) ole OLE control oleWorksheet out Outline control outOrgChart pic Picture picVGA pnl3d 3d Panel pnl3d rpt Report control rptQtr1Earnings shp Shape controls shpCircle spn Spin control spnPages txt Text Box txtLastName tmr Timer tmrAlarm vsb Vertical scroll bar vsbRate Objek konvensi penamaan untuk Database objekPrefix Object Type Example ------------------------------------------ db ODBC Database dbAccounts ds ODBC Dynaset object dsSalesByRegion fdc Field collection fdcCustomer fd Field object fdAddress ix Index object ixAge ixc Index collection ixcNewAge qd QueryDef object qdSalesByRegion qry (suffix) Query (see NOTE) SalesByRegionQry ss Snapshot object ssForecast tb Table object tbCustomer td TableDef object tdCustomers Konvensi penamaan menuAplikasi sering menggunakan kelimpahan menu kontrol. Sebagai hasilnya, Anda perlu yang berbeda dari Konvensi penamaan untuk kontrol ini. Menu control awalan harus diperluas luar label awal mnu dengan menambahkan awalan tambahan untuk setiap tingkat bersarang, dengan judul akhir menu pada ujung string nama. Misalnya:Menu Caption Sequence Menu Handler Name Help.Contents mnuHelpContents File.Open mnuFileOpen Format.Character mnuFormatCharacter File.Send.Fax mnuFileSendFax File.Send.Email mnuFileSendEmail Konvensi penamaan untuk kontrol lainUntuk kontrol baru tidak tercantum di atas, mencoba untuk datang dengan tiga unik karakter awalan. Namun, lebih penting harus jelas daripada untuk tetap untuk tiga karakter.Untuk kontrol turunan, seperti kotak daftar ditingkatkan, memperpanjang awalan di atas jadi yang ada tidak ada kebingungan di mana kontrol benar-benar menjadi digunakan. Singkatan huruf untuk produsen akan juga biasanya ditambahkan ke awalan. Misalnya, contoh kontrol yang dibuat dari Visual Basic profesional 3D bingkai bingkai bisa menggunakan awalan fra3d untuk menghindari kebingungan di mana kontrol adalah benar-benar digunakan. Tombol perintah dari MicroHelp dapat menggunakan cmdm untuk membedakan dari perintah standar tombol (cmd). Kontrol pihak ketigaSetiap kontrol pihak ketiga yang digunakan dalam aplikasi harus tercantum dalam aplikasi overview komentar bagian, menyediakan awalan yang digunakan untuk kontrol, nama lengkap kontrol, dan nama dari vendor perangkat lunak:Prefix Control Type Vendor cmdm Command Button MicroHelp Variabel dan rutin penamaanNama-nama variabel dan fungsi memiliki struktur berikut:<prefix><body><qualifier><suffix> </suffix></qualifier></body></prefix>Part Description Example -------------------------------------------------------------------------- <prefix> Describes the use and scope of the variable. iGetRecordNext <body> Describes the variable. iGetNameFirst <qualifier> Denotes a derivative of the variable. iGetNameLast <suffix> The optional Visual Basic type character. iGetRecordNext% Tabel berikut mendefinisikan variabel dan fungsi awalan nama yang didasarkan pada notasi Hungaria C untuk Windows. Awalan-awalan ini harus digunakan dengan semua variabel dan nama-nama fungsi. Penggunaan akhiran dasar tua (seperti %, &, #, dll.) tidak dianjurkan. Variabel dan fungsi nama awalan:
Prefix Converged Variable Use Data Type Suffix
--------------------------------------------------------------------------
b bln Boolean Integer %
c cur Currency - 64 bits Currency @
d dbl Double - 64 bit Double #
signed quantity
dt dat Date and Time Variant
e err Error
f sng Float/Single - 32 Single !
bit signed
floating point
h Handle Integer %
i Index Integer %
l lng Long - 32 bit Long &
signed quantity
n int Number/Counter Integer %
s str String String $
u Unsigned - 16 bit Long &
unsigned quantity
udt User-defined type
vnt vnt Variant Variant
a Array
Ruang lingkup dan penggunaan awalan: Prefix Description g Global m Local to module or form st Static variable (no prefix) Non-static variable, prefix local to procedure v Variable passed by value (local to a routine) r Variable passed by reference (local to a routine) iSend - mewakili menghitung jumlah pesan yang dikirim Masing-masing nama-nama variabel ini memberitahu programmer sesuatu yang sangat berbeda.
Informasi ini kehilangan ketika nama variabel dikurangi untuk mengirim %. Ruang lingkup
awalan seperti g dan m juga membantu mengurangi masalah dari pertentangan nama
terutama dalam proyek-proyek yang diperlukan.bSend - A Boolean bendera mendefinisikan keberhasilan operasi Kirim terakhir hSend - A menangani antarmuka Comm Notasi Hungaria juga secara luas digunakan oleh Windows C programer dan terus-menerus direferensikan dalam dokumentasi produk Microsoft dan industri buku-buku pemrograman. Selain itu, ikatan antara pemrogram c dan programmer yang menggunakan Visual Basic akan menjadi lebih kuat sebagai Visual C++ pengembangan sistem mendapatkan momentum. Transisi ini akan menghasilkan banyak Visual Basic programer pindah ke c untuk pertama kalinya dan banyak programmer bergerak sering bolak-balik antara kedua lingkungan. Tubuh variabel dan rutin namaTubuh variabel atau rutin nama harus menggunakan campuran kasus dan harus selama diperlukan untuk menjelaskan tujuannya. Selain itu, fungsi nama harus dimulai dengan kata kerja, seperti InitNameArray atau CloseDialog.Untuk sering digunakan atau panjang istilah, singkatan standar yang dianjurkan untuk membantu menjaga nama panjang masuk akal. Secara umum, variabel nama besar dari 32 karakter dapat menjadi sulit untuk dibaca pada VGA menampilkan. Bila menggunakan singkatan, pastikan mereka konsisten sepanjang seluruh aplikasi. Secara acak pensakelaran antara Cnt dan menghitung dalam proyek akan mengakibatkan kebingungan yang tidak perlu. Kualifikasi pada variabel dan nama-nama rutinTerkait variabel dan rutinitas yang sering digunakan untuk mengelola dan memanipulasi umum objek. Dalam kasus ini, menggunakan standar kualifikasi untuk label turunan variabel dan rutinitas. Meskipun menempatkan kualifikasi setelah tubuh nama mungkin tampak sedikit canggung (seperti pada sGetNameFirst, sGetNameLast bukan dari sGetFirstName, sGetLastName), praktik ini akan membantu memesan nama-nama ini bersama-sama dalam daftar rutin editor Visual Basic, membuat logika dan struktur aplikasi yang lebih mudah untuk memahami. Tabel berikut mendefinisikan kualifikasi umum dan maknanya standar:
Qualifier Description (follows Body)
--------------------------------------------------------------------------
First First element of a set.
Last Last element of a set.
Next Next element in a set.
Prev Previous element in a set.
Cur Current element in a set.
Min Minimum value in a set.
Max Maximum value in a set.
Save Used to preserve another variable that must be reset later.
Tmp A "scratch" variable whose scope is highly localized within the
code. The value of a Tmp variable is usually only valid across
a set of contiguous statements within a single procedure.
Src Source. Frequently used in comparison and transfer routines.
Dst Destination. Often used in conjunction with Source.
Jenis ditetapkan penggunaMenyatakan jenis pengguna didefinisikan dalam semua topi dengan _TYPE ditambahkan ke akhir nama simbol. Misalnya:Konstanta penamaanTubuh konstan nama harus UPPER_CASE dengan garis bawah (_) antara kata-kata. Meskipun standar Visual Basic konstanta tidak termasuk Informasi Hongaria, awalan seperti i, s, g, dan m dapat sangat berguna dalam memahami nilai dan ruang lingkup konstan. Untuk nama konstan, ikuti aturan yang sama sebagai variabel. Sebagai contoh:Jenis Data varianJika Anda tahu bahwa variabel akan selalu menyimpan data jenis tertentu, Visual Basic dapat menangani data yang lebih efisien jika Anda menyatakan variabel dari jenis.Namun, jenis varian data dapat sangat berguna ketika bekerja dengan database, pesan, DDE atau OLE. Banyak database memungkinkan NULL sebagai sah nilai untuk lapangan. Kode Anda perlu untuk membedakan antara NULL, 0 (nol), dan "" (string kosong). Banyak kali, jenis operasi dapat menggunakan generik layanan rutin yang tidak perlu tahu jenis data itu menerima proses atau menyampaikan data. Misalnya: Komentar kodeSemua prosedur dan fungsi harus mulai dengan menggambarkan komentar singkat karakteristik fungsional rutin (apa yang dilakukannya). Ini Deskripsi harus tidak menggambarkan rincian pelaksanaan (bagaimana melakukannya) karena ini sering berubah seiring waktu, sehingga tidak perlu komentar pemeliharaan pekerjaan, atau lebih buruk lagi, keliru komentar. Kode itu sendiri dan setiap diperlukan in-line atau komentar lokal akan menjelaskan pelaksanaan.Parameter dioperkan ke rutinitas yang harus dijelaskan ketika mereka fungsi tidak jelas dan ketika rutin mengharapkan parameter dalam tertentu jangkauan. Fungsi kembali nilai-nilai dan variabel global yang diubah oleh rutin (terutama melalui referensi parameter) juga dapat digambarkan pada awal setiap rutin. Header rutin komentar blok akan terlihat seperti ini (lihat bagian berikutnya "Format kode Anda" untuk contoh):
Section Comment Description
--------------------------------------------------------------------------
Purpose What the routine does (not how).
Inputs Each non-obvious parameter on a separate line with
in-line comments
Assumes List of each non-obvious external variable, control, open file,
and so on.
Returns Explanation of value returned for functions.
Effects List of each effected external variable, control, file, and
so on and the affect it has (only if this is not obvious)
Variabel, kontrol, dan rutinitas harus bernama jelas cukup yang di- baris komentar hanya diperlukan untuk pelaksanaan yang kompleks atau non-intuitif rincian. Ikhtisar deskripsi aplikasi, enumerasi data primer objek, rutinitas, algoritma, dialog, database dan file sistem dependensi, dan sebagainya harus dimasukkan pada awal.BAS modul yang berisi proyek Visual Basic generik konstan deklarasi. Catatan: Jendela proyek dasarnya menggambarkan daftar file dalam proyek, sehingga bagian Ikhtisar ini hanya perlu untuk memberikan informasi pada file yang paling penting dan modul, atau file jendela proyek tidak Daftar, seperti inisialisasi (.INI) atau database file. Pemformatan kodeKarena banyak programer masih menggunakan VGA menampilkan, layar real estat harus kekal sebanyak mungkin, sementara masih memungkinkan kode format untuk mencerminkan struktur logika dan bersarang.Standar, berbasis tab, blok bersarang lekukan harus dua untuk empat spasi. Lebih dari empat ruang tidak perlu dan dapat menyebabkan pernyataan untuk menjadi tersembunyi atau sengaja terpotong. Kurang dari dua ruang tidak cukup menunjukkan logika bersarang. Pada Basis Pengetahuan Microsoft, kami menggunakan tiga-ruang indentasi. Menggunakan dialog Opsi lingkungan untuk menetapkan standar tab lebar. Fungsional overview komentar rutin harus indentasi satu ruang. Pernyataan tingkat tertinggi yang mengikuti komentar ikhtisar harus indentasi satu tab, dengan setiap blok bersarang indentasi tab tambahan. Untuk contoh: OperatorSelalu menggunakan ampersand (&) ketika concatenating string, dan menggunakan plus tanda (+) ketika bekerja dengan nilai-nilai numerik. Menggunakan tanda tambah (+) dengan non-numerik nilai, dapat menyebabkan masalah ketika beroperasi di dua varian. Misalnya:Ruang lingkupVariabel selalu dapat didefinisikan dengan lingkup terkecil yang mungkin. Variabel global dapat membuat mesin kompleks negara dan membuat logika aplikasi yang sangat sulit untuk mengerti. Variabel global juga membuat kembali dan pemeliharaan kode Anda jauh lebih sulit. Variabel dalam Visual Basic dapat memiliki cakupan berikut:
Scope Variable Declared In: Visibility
--------------------------------------------------------------------------
Procedure-level Event procedure, sub, or Visible in the
function procedure in which
it is declared
Form-level, Declarations section of a form Visible in every
Module-level or code module (.FRM, .BAS) procedure in the
form or code
module
Global Declarations section of a code Always visible
module (.BAS, using Global
keyword)
Jika Anda harus menggunakan variabel global, itu adalah praktik yang baik untuk menyatakan semua mereka dalam sebuah modul tunggal dan kelompok mereka oleh fungsi. Memberikan modul berarti nama yang menunjukkan tujuan, seperti GLOBAL.BAS. Dengan pengecualian dari variabel global (yang harus tidak akan berlalu), prosedur dan fungsi harus hanya beroperasi pada objek yang dilewatkan ke mereka. Variabel global yang digunakan dalam rutinitas harus diidentifikasi dalam area komentar umum pada awal rutin. Selain itu, lulus argumen untuk kapal selam dan fungsi menggunakan ByVal, kecuali Anda secara eksplisit ingin Ubah nilai argumen berlalu. Menulis kode modular bila memungkinkan. Sebagai contoh, jika aplikasi Anda menampilkan kotak dialog, masukkan semua kontrol dan kode yang diperlukan untuk melakukan kotak dialog tugas dalam bentuk tunggal. Ini membantu untuk menjaga aplikasi kode disusun menjadi komponen berguna dan meminimalkan runtime overhead. Kontrol pihak ketigaCatatan: Produk yang dibahas di bawah ini dibuat oleh vendor independen Microsoft. Microsoft membuat tidak ada jaminan tersirat atau sebaliknya, mengenai produk ini kinerja atau keandalan.Tabel berikut mencantumkan Prefiks nama standar vendor pihak ketiga karakter digunakan dengan kontrol awalan: Vendor Abbv ------------------------- MicroHelp (VBTools) m Pioneer Software p Crescent Software c Sheridan Software s Other (Misc) o
Control Control Abbr Vendor Example VBX File
Type Name Name
--------------------------------------------------------------------------
Alarm Alarm almm MicroHelp almmAlarm MHTI200.VBX
Animate Animate anim MicroHelp animAnimate MHTI200.VBX
Callback Callback calm MicroHelp calmCallback MHAD200.VBX
Combo Box DB_Combo cbop Pioneer cbopComboBox QEVBDBF.VBX
Combo Box SSCombo cbos Sheridan cbosComboBox SS3D2.VBX
Check Box DB_Check chkp Pioneer chkpCheckBox QEVBDBF.VBX
Chart Chart chtm MicroHelp chtmChart MHGR200.VBX
Clock Clock clkm MicroHelp clkmClock MHTI200.VBX
Button Command cmdm MicroHelp cmdmCommandButton MHEN200.VBX
Button
Button DB_Command cmdp Pioneer cmdpCommandButton QEVBDBF.VBX
Button (Group) Command cmgm MicroHelp cmgmBtton MHGR200.VBX
Button
(multiple)
Button Command cmim MicroHelp cmimCommandButton MHEN200.VBX
Button
(icon)
CardDeck CardDeck crdm MicroHelp crdmCard MHGR200.VBX
Dice Dice dicm MicroHelp dicmDice MHGR200.VBX
List Box (Dir) SSDir dirs Sheridan dirsDirList SS3D2.VBX
List Box (Drv) SSDrive drvs Sheridan drvsDriveList SS3D2.VBX
List Box (File) File List film MicroHelp filmFileList MHEN200.VBX
List Box (File) SSFile fils Sheridan filsFileList SS3D2.VBX
Flip Flip flpm MicroHelp flpmButton MHEN200.VBX
Scroll Bar Form Scroll fsrm MicroHelp fsrmFormScroll ???
Gauge Gauge gagm MicroHelp gagmGauge MHGR200.VBX
Graph Graph gpho Other gphoGraph XYGRAPH.VBX
Grid Q_Grid grdp Pioneer grdpGrid QEVBDBF.VBX
Scroll Bar Horizontal hsbm MicroHelp hsbmScroll MHEN200.VBX
Scroll Bar
Scroll Bar DB_HScroll hsbp Pioneer hsbpScroll QEVBDBF.VBX
Graph Histo hstm MicroHelp hstmHistograph MHGR200.VBX
Invisible Invisible invm MicroHelp invmInvisible MHGR200.VBX
List Box Icon Tag itgm MicroHelp itgmListBox MHAD200.VBX
Key State Key State kstm MicroHelp kstmKeyState MHTI200.VBX
Label Label (3d) lblm MicroHelp lblmLabel MHEN200.VBX
Line Line linm MicroHelp linmLine MHGR200.VBX
List Box DB_List lstp Pioneer lstpListBox QEVBDBF.VBX
List Box SSList lsts Sheridan lstsListBox SS3D2.VBX
MDI Child MDI Control mdcm MicroHelp mdcmMDIChild ???
Menu SSMenu mnus Sheridan mnusMenu SS3D3.VBX
Marque Marque mrqm MicroHelp mrqmMarque MHTI200.VB
Picture OddPic odpm MicroHelp odpmPicture MHGR200.VBX
Picture Picture picm MicroHelp picmPicture MHGR200.VBX
Picture DB_Picture picp Pioneer picpPicture QEVBDBF.VBX
Property Vwr Property pvrm MicroHelp pvrmPropertyViewer MHPR200.VBX
Viewer
Option (Group) DB_RadioGroup radp Pioneer radqRadioGroup QEVBDBF.VBX
Slider Slider sldm MicroHelp sldmSlider MHGR200.VBX
Button (Spin) Spinner spnm MicroHelp spnmSpinner MHEN200.VBX
Spreadsheet Spreadsheet sprm MicroHelp sprmSpreadsheet MHAD200.VBX
Picture Stretcher strm MicroHelp strmStretcher MHAD200.VBX
Screen Saver Screen Saver svrm MicroHelp svrmSaver MHTI200.VBX
Switcher Switcher swtm MicroHelp swtmSwitcher ???
List Box Tag tagm MicroHelp tagmListBox MHEN200.VBX
Timer Timer tmrm MicroHelp tmrmTimer MHTI200.VBX
ToolBar ToolBar tolm MicroHelp tolmToolBar MHAD200.VBX
List Box Tree trem MicroHelp tremTree MHEN200.VBX
Input Box Input (Text) txtm MicroHelp inpmText MHEN200.VBX
Input Box DB_Text txtp Pioneer txtpText QEVBDBF.VBX
Scroll Bar Vertical vsbm MicroHelp vsbmScroll MHEN200.VBX
Scroll Bar
Scroll Bar DB_VScroll vsbp Pioneer vsbpScroll QEVBDBF.VBX
Berlaku bagi:
Penerjemahan MesinPENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah. Klik disini untuk melihat versi Inggris dari artikel ini:110264
(http://support.microsoft.com/kb/110264/en-us/
)
| Sumber Lain Situs Pendukung Lain
KomunitasCari Bantuan SekarangTerjemahan Artikel
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email



Kembali ke atas
