IT-Academy Logo
Sign Up Login Help
Home - Programmieren - Visual Basic - Ungarische Notation für Visual Basic



Ungarische Notation für Visual Basic

Übersicht über die Regeln und die Vor- und Nachteile dieser weit verbreiteten Programmierkonvention.


Autor: Tobias Surmann (incsoft)
Datum: 29-09-2003, 19:57:50
Referenzen: MSDN
Schwierigkeit: Fortgeschrittene
Ansichten: 24089x
Rating: 9 (6x bewertet)

Hinweis:

Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich.
Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren.

[Druckansicht] [Als E-Mail senden] [Kommentar verfassen]



Einleitung

Leider findet man im Internet so gut wie nichts zu Programmierkonventionen, die Visual Basic betreffen. Artikel zur ungarischen Notation für C++ gibt es dagegen zuhauf. Auch nach einer längeren Recherche über Google konnte ich keinen Artikel finden, in dem die Vor- und Nachteile einer einheitlichen Konvention für Visual Basic vorgestellt werden, obwohl fast alle Visual Basic Programmierer nach einer standardisierten Konvention programmieren - die ungarische Notation. Dieses Manko habe ich zum Anlass genommen, mich mit dem Thema intensiver zu beschäftigen und selbst einen Artikel dazu zu schreiben.

Gründe für eine Programmierkonvention

Durch Einsatz einer Programmierkonvention können Programmstrukturen standardisiert werden, um einen Code für Sie und andere Programmierer leichter lesbar zu machen. Der Code wird durch Anwendung von einheitlichen Programmierkonventionen wie der ungarischen Notation für jeden leichter verständlich, so dass eine gemeinsame Entwicklung im Team ebenso erleichtert wird, wie die Sicherstellung der Konsistenz des Quellcodes. Zweck einer Programmierkonvention ist es, die zuvor genannten Ziele zu erreichen, und gleichzeitig dem Programmierer bei Programmlogik und Funktionalität größtmögliche Freiheit zu gewähren.

Grundlagen

Der Name der ungarischen Notation geht auf ihren Erfinder Charles Simonyi - einen Ungar - zurück. Alle nach der ungarischen Notation benannten Objekte, Steuerelemente und Variablen bestehen aus zwei Teilen, dem Präfix, der den Typ des Objekts angibt, und einem frei wählbaren Bezeichner. Das Präfix gibt bei Variablen den Datentyp an, bei Steuerelementen, um welche Art Steuerelement es sich handelt (z. B. ob es ein CommandButton oder eine TextBox ist) und bei Objekten den Typ des Objekts (meist muss dieser im Kontext der Anwendung selbst festgelegt werden).

Nachteile

Die ungarische Notation verleitet den Programmierer schnell dazu, den Bezeichnerteil weg zu lassen und nur das Präfix als Variablennamen zu verwenden z. B.

Dim int As Integer
Dies ist keine gute Idee, da solche Variablennamen nichts über den Zweck der Variablen aussagen.
Es gibt verschiedene Versionen der ungarischen Notation, was wiederum ein Nachteil darstellt, denn eigentlich sollte es ja einen einheitlichen Standard bilden. Ich werde in diesem Artikel nur auf die von Microsoft empfohlenen Konventionen eingehen (s. MSDN).

Regeln für Steuerelemente

Von Microsoft empfohlene Konventionen für einige der von Visual Basic unterstützten Steuerelemente sind im Folgenden aufgeführt.

Steuerelement-Typ Präfix Beispiel
3-D-Grundfläche (SSPanel) pnl pnlGroup
ADO Data ado adoBiblio
Animierte Schaltfläche (AniPushButton) ani aniMailBox
Anzeige (Image) img imgIcon
AufAb (UpDown) upd updDirection
Befehlsschaltfläche (CommandButton) cmd cmdExit
Bericht rpt rptQtr1Earnings
Bezeichnungsfeld (Label) lbl lblHelpMessage
Bild (Picture) pic picVGA
Bildausschnitt (PictureClip) clp clpToolbar
Dateilistenfeld (FileListBox) fil filSource
Datengebundene Tabelle (DBGrid) dbgrd dbgrdQueryResult
Datengebundenes Kombinationsfeld (DBCombo) dbcbo dbcboLanguage
Datengebundenes Listenfeld (DBList) dblst dblstJobType
Daten-Steuerelement (Data) dat datBiblio
Diagramm (Graph) gra graRevenue
Drehfeld (SpinButton) spn spnPages
Figur (Shape) shp shpCircle
Formular frm frmEntry
Fortschrittsleiste (ProgressBar) prg prgLoadFile
Gliederung (Outline) out outOrgChart
Horizontale Bildlaufleiste (HScrollBar) hsb hsbVolume
Kombinationsfeld, Dropdown-Listenfeld (ComboBox) cbo cboEnglish
Kommunikation (MSComm) com comFax
Kontrollkästchen (CheckBox) chk chkReadOnly
Laufwerklistenfeld (DriveListBox) drv drvTarget
Linie (Line) lin linVertical
Listenansicht (ListView) lvw lvwHeadings
Listenfeld (ListBox) lst lstPolicyCodes
MAPI-Nachricht (MAPIMessages) mpm mpmSentMessage
MAPI-Sitzung (MAPISession) mps mpsSession
MCI mci mciVideo
mciVideo mnu mnuFileOpen
Meßgerät (Gauge) gau gauStatus
MS Flex-Tabelle (MSFlexGrid) msg msgClients
MS-Register mst mstFirst
OLE ole oleWorksheet
Rahmen (Frame) fra fraLanguage
Register (TabStrip) tab tabOptions
RTF (RichTextBox) rtf rtfReport
Schieberegler (Slider) sld sldScale
Standard-Dialogfeld (CommonDialog) dlg dlgFileOpen
Statusleiste (StatusBar) sta staDateTime
Steuerelement (Control, wird in Prozeduren verwendet, wenn der genaue Typ unbekannt ist) ctr ctrCurrent
Stift-BEdit bed bedFirstName
Stift-HEdit hed hedSignature
Stift-Ink ink inkMap
Strukturansicht (TreeView) tre treOrganization
Symbolleiste tlb tlbActions
Tabelle (Grid) grd grdPrices
Tastenstatus (MHState) key keyCaps
Textfeld (TextBox) txt txtLastName
Untergeordnetes MDI-Formular mdi mdiNote
Vertikale Bildlaufleiste (VScrollBar) vsb vsbRate
Verzeichnislistenfeld (DirListBox) dir dirSource
Zeitgeber (Timer) tmr tmrAlarm


Regeln für Datenzugriffsobjekte

Datenzugriffsobjekt Präfix Beispiel
Container con conReports
Database db dbAccounts
DBEngine dbe dbeJet
Document doc docSalesReport
Field fld fldAddress
Group grp grpFinance
Index idx idxAge
Parameter prm prmJobCode
QueryDef qry qrySalesByRegion
Recordset rec recForecast
Relation rel relEmployeeDept
TableDef tbd tbdCustomers
User usr usrNew
Workspace wsp wspMine


Regeln für Menüs

Menübefehlssequenz Menüzugriffsname
Datei, Öffnen mnuDateiÖffnen
Datei, E-Mail senden mnuDateiEMailSenden
Datei, Fax senden mnuDateiFaxSenden
Format, Zeichen mnuFormatZeichen
Hilfe, Inhalt mnuHilfeInhalt


Regeln für Variablen

Datentyp Präfix Beispiel
Boolean bln blnGefunden
Byte byt bytRasterdaten
Collection-Objekt col colWidgets
Currency cur curUmsatz
Date (Time) dtm dtmStart
Double dbl dblToleranz
Error err errBestellnummer
Integer int intMenge
Long lng lngDistanz
Object obj objAktuell
Single sng sngDurchschnitt
String str strDateiname
Benutzerdefinierter Typ (user-defined type) udt udtPersonal
Variant vnt vntPrüfsumme


Fazit

Die ungarische Notation ist eine weit verbreitete Programmierkonvention - auch für Visual Basic. Aufgrund dieser Popularität kann man sagen, dass die ungarische Notation neben einigen Nachteilen hauptsächlich Vorteile bei der Programmierung bringt und es deshalb sehr nützlich und empfehlenswert ist, sie zu erlernen.


[back to top]



Userdaten
User nicht eingeloggt

Gesamtranking
Werbung
Datenbankstand
Autoren:04379
Artikel:00815
Glossar:04117
News:13567
Userbeiträge:16545
Queueeinträge:06052
News Umfrage
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
Mobile Nutzung möglich (Ipone, Android)
Externe API Schnittstelle/Plugins dritter
Zeiterfassung meiner Mitarbeiter
Exportieren in CSV/XLS
Siehe Kommentar



[Results] | [Archiv] Votes: 635
Comments: 0