Chciałbym zapytać jak nazywacie kontrolki w swoich aplikacjach okienkowych? Ja zazwyczaj robię to w ten sposób:
TextBox PrzeznaczenieKontrolkiTextBox;
Ale zastanawiam się czy nie lepszy zapis byłby taki:
TextBox TextBoxPrzeznaczenieKontrolki.
W pierwszym przypadku jak np. mam GroupBox a w nim label, textBox i button to podpowiedzi pokażą mi tylko kontrolki w danych groupboxie. Jednak z drugiej strony chciałbym się odwołać do jakiegoś pola i żeby nie wchodzić w formę bo akurat mi wypadło z głowy jak się ona nazywa to wpisuję TextBox i dopełnia mi informacje na temat wszystkich TextBoxów w kodzie.
@mktos to co zaprezentowałeś nazywa się Hungarian notation
@Marcin511 zarówno notacja którą używasz jak i pokazana przez @mktos są poprawne. Nie można też stwierdzić która jest gorsza, która lepsza. Wydaje mi się Hungarian notation jest bardziej rozpowszechniona, ale od predyspozycji osoby piszącej tylko i wyłącznie zależy jakiej notacji będzie używać.
Jedynie w przypadku gdy na projektem pracuje więcej osób to trzeba ustalić jakiej notacji się używa, ponieważ najważniejsza zasada to nie jakiej notacji się używa, tylko aby wybranej notacji używać w całym projekcie żeby zachować zgodność.
Zgadzam się z tym co napisał grzelix (no może poza tym, że notacja węgierska jest bardziej rozpowszechniona - jakieś źródło do tej informacji?). Konsekwencja w stosowaniu w danym projekcie jest najważniejsza.
Jak piszę cały kod samodzielnie to używam pierwszego zaprezentowanego przez Ciebie podejścia (takie samo stosowane jest w generatorach kodu Microsoft-u), bo tak mi jest wygodniej. Nie mam jednak nic przeciwko drugiemu podejściu.
Nazewnictwo jest w pewnym sensie związane z językiem programowania i opiera się na pewnych oficjalnych lub umownych zasadach. Tak na prawdę wszystko zależy od programisty, ale zdecydowanie łatwiej czyta się kod, który “wygląda znajomo”. Ja piszę przede wszystkim w Pythonie i zgodnie z konwencją słowa w nazwach klas wyróżniam wielkimi literami alfabetu (np. MyClass), natomiast słowa w nazwach funkcji, metod, zmiennych zapisuję małymi słowami rozdzielonymi symbolem _ (np. my_method). Pierwszy ze sposobów znany jest jako CamelCase. Ten typ nazewnictwa stosowany jest również do kontrolek tkinter, np.:
apple = Menu(menubar, name='apple')
help = Menu(menubar, name='help')
menubar.add_cascade(menu=apple)
menubar.add_cascade(menu=help)
Nieco inaczej przedstawia się sytuacja w przypadku GUI pisanym w PyQt. Tu Designer domyślnie proponuje dla kontrolek regułę lowerCamelCase, czyli np.
Jest to w pewnym sensie niekonsekwencja w stosunku do zasad obowiązujących w pythonowym kodzie, ale ma też pewną zaletę – od razu widać gdzie w kodzie pojawiają się kontrolki Qt.
Nazwy kontrolek, to właśnie jedyny przypadek, w którym widzę sens używania notacji węgierskiej, bo poza tym, to jej nie cierpię (delikatnie mówiąc ;)). Stosuję trzyliterowe prefiksy: “txt”, “cmb”, “chk”, “lbl”, “dgv”, itd.
W przypadku, gdy kontrolki mam automatycznie wygenerowane przez IDE i są one zbindowane z jakimś obiektem, to nie mam potrzeby bezpośredniego z nich korzystania, więc nie zmieniam ich nazw.
A w ogóle, to najlepiej tworzyć oprogramowanie bez kontrolek, wtedy tego problemu nie ma.