.NET Steuerelemente richtig benennen

.NET Steuerelemente richtig benennen
.NET Steuerelemente richtig benennen

Steuerelemente mit Präfixen

Wie du wahrscheinlich in einigen meiner Videos gesehen hast, benutze ich für die Steuerelemente im Designer immer Präfixe.

Da wäre z. B. btn für einen Button, tb für eine TextBox und auch gerne mal dgv für ein DataGridView. Auch solche Ausreißer wie einen BackgroundWorker finden ihre passende Abkürzung.

In diesem Beitrag erfährst du, warum du für deine Steuerelemente immer einen passenden Namen wählen solltest und welche Stolperfallen auf dich und andere warten, falls du es nicht tust.

Nicht ohne Grund

Das mache ich natürlich nicht ohne Grund! Viel zu schnell klickt man hier und da die grafische Oberfläche (GUI) zusammen und vergisst eine vernünftige Benennung der Steuerelemente.

Das ist schlecht.. Man steht sich in erster Linie nicht nur selbst im Weg, sondern auch anderen Programmierern die eventuell auch an dem Projekt arbeiten, oder mal arbeiten werden.

Wie oft habe ich es schon selbst erlebt, dass man sich durch fremden Code wurschteln durfte und von Button 1-15 und TextBox 14-34 überschwemmt wurde.

Zeit sparen und einfacher (zusammen-)arbeiten

Selbst in sogenannten Mockups – also einem Vorführmodell – sollte man nicht auf die korrekte Bezeichnung der Steuerelemente verzichten, denn häufig werden viele Elemente des Mockups anschließend übernommen.

So spart man sich einerseits kostbare Nerven und andererseits die häufig in der Entwicklung geringe Zeit.

Die Funktionalität eines Programms nachzuvollziehen, dessen Controls schlecht benannt wurden – geschweige denn zu verstehen – ist ein Graus!

Wenn selbst der Autor nicht mehr weiter weiß

Auch der Autor selbst weiß nachher zu oft nicht mehr, was er eigentlich an Stelle XY wollte.

Jedoch muss man (ich) sich hier und da fairerweise auch an die eigene Nase packen – jaja. Hier mal schnell was zusammengeklickt, dort mal schnell was ausprobiert, zack – schon haben wir den buchstäblichen Salat.

Ein konkretes Beispiel

Hier wäre ein konkretes Beispiel, wie man die Steuerelemente stattdessen benennen sollte:

Auflistung von Steuerelementen mit dem Präfix btn
Auflistung von Steuerelementen mit dem Präfix btn

In dem Beispiel finden sich verschiedene Steuerelemente vom gleichen Typ: Knopf/Button.

Man kann die Controls in Visual Studio schön in einer Liste betrachten und ggf. mit den Pfeiltasten + Enter schnell eine Auswahl treffen.

Weitere Vorteile

Durch das jeweilige Präfix erkennt man sofort um welches Control es sich handelt. Darauf folgend, weiß man auch sofort, was das Control tun soll (z. B. im Falle eines Buttons), oder welchen Zweck es hat.

Ebenso kann die korrekte Benennung eines Steuerelementes eine tolle Orientierungshilfe sein. Z. B. wenn du nicht mehr weißt, wie du ein gewisses Steuerelement genannt hast, du aber weißt, was es tun sollte.

Ggf. könntest du ja nach einem Verb wie „kaufen“ suchen. Schon würde dir Visual Studio den „btnKaufen“ vorschlagen. Beim Tippen von „ka“ könnte dir Visual Studio auch mit einem DataGridView namens „btnKaeufe“ unter die Arme greifen.

Meine Präfix-Liste

Hier findest du eine Liste meiner persönlich verwendeten Präfixe. Diese musst du natürlich nicht eins zu eins übernehmen!

Wichtig ist letztendlich nur, dass du für dich selbst entscheidest, welche Präfixe du verwenden möchtest und das du letztendlich auch konstant dabei bleibst.

  • BackGroundWorker – bgw
  • BindingNavigator – bn
  • BindingSource – bs
  • Button – btn
  • CheckBox – chb
  • CheckedListBox – clb
  • ColorDialog – cd
  • ComboBox – cbb
  • ContextMenuStrip – cms
  • DataGridView – dgv
  • DataSet – ds
  • DateTimePicker – dtp
  • DirectoryEntry – de
  • DirectorySearcher – ds
  • DomainUpDown – dud
  • ErrorProvider – ep
  • EventLog – el
  • FileSystemWatcher – fsw
  • FlowLayoutPanel – flp
  • FolderBrowserDialog – fbd
  • FontDialog – fd
  • GroupBox – gb
  • HelpProvider – hp
  • HScrollBar – hsb
  • ImageList – il
  • Label – lbl
  • LinkLabel – llbl
  • ListBox – lb
  • ListView – lv
  • MaskedTextBox – mtb
  • MenuStrip – ms
  • MessageQueue – mq
  • MonthCalendar – mc
  • NotifyIcon – nfi
  • NumericUpDown – nud
  • OpenFileDialog – ofd
  • PageSetupDialog – psd
  • Panel – pnl
  • PerformanceCounter – pc
  • PictureBox – pb
  • PrintDialog – pdg
  • PrintDocument – pdc/pdoc
  • PrintPreviewControl – ppc
  • Process – p
  • ProgressBar – pgb/pb
  • PropertyGrid – pg
  • RadioButton – rbtn
  • RichTextBox – rtb
  • SaveFileDialog – sfd
  • SerialPort – sp
  • ServiceController – sc
  • SplitContainer – scnt
  • Splitter – spl
  • StatusStrip – ss
  • TabControl – tc
  • TableLayoutPanel – tlp
  • TextBox – tb
  • Timer – tmr
  • ToolStrip – ts
  • ToolStripContainer – tsc
  • ToolTip – tt
  • TrackBar – trb
  • TreeView – tv
  • VScrollBar – vsb
  • WebBrowser – wb/webbr