Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 27 lis 2024, o 23:58


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 17 lis 2015, o 13:08 
Offline
Nowy

Dołączył(a): 24 wrz 2015
Posty: 14
Lokalizacja: Oława
Pomógł: 3

Witam.

Jak nazywacie swoje klasy? Czy grupujecie je w przestrzenie nazw?

Pytanie stawiam projektantom C++, którzy w swoich projektach posiadają/będą posiadać bardzo wiele różnych klas. Pisząc własne biblioteki dla urządzeń trzeba przemyśleć nazewnictwo klas tak aby nazwy te nie powtarzały się. Nie ma takich dylematów w przypadku tworzenia biblioteki dla jednego typu wyświetlacza lcd i dla jednego typu sterownika ATMega. Klasę nazwiemy Lcd. Do obsługi urządzenia w ciele klasy użyjemy rejestrów wejść i wyjść tegoż sterownika. Pliki biblioteki nazwiemy lcd.hpp i lcd.cpp.
1. Problem pojawia się, gdy chcemy rozbudować bibliotekę o nowy typ wyśwetlacza, którego inaczej się steruje. Nazywając nową klasę Lcd mamy gotowy konflikt nazw.
2. Inny problem pojawia się w sytuacji, gdy chcemy to samo urządzenie klasy Lcd, napisane na sterownik AVR 8-bitowy, przystosować do nowej rodziny sterowników np. AVR32, XMega, PIC, itp. W tych sterownikach są inne nazwy rejestrów wejść i wyjść i trzeba przerobić naszą klasę. I znowu dla nowej klasy chcemy nadać nazwę Lcd (bo to przecież jest lcd). Konflikt nazw!

Jakie stosujecie kryteria w nadawaniu nazwy swoim klasom? Czy i jak stosujecie przestrzenie nazw?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lis 2015, o 13:20 
Offline
Użytkownik

Dołączył(a): 16 maja 2012
Posty: 349
Lokalizacja: Legnica
Zbananowany użytkownik

Pomógł: 23

Preprocesor i kompilacja warunkowa?
Czy może chcesz linkować prekompilowane biblioteki? Jeżeli tak to trzeba inaczej nazywać jedynie biblioteki a w środku nazwy mogą być takie same.


Autor postu otrzymał pochwałę

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lis 2015, o 14:31 
Offline
Użytkownik

Dołączył(a): 26 lip 2015
Posty: 269
Pomógł: 34

Nie wiem czy dobrze zrozumiałem, ale ja bym nadał nazwy takie np:
LCD_SSD1306_AVR
LCD_HD44780_PIC
I w tedy taka osoba zainteresowana wpisze tylko LCD i w podpowiedzi pojawi mu się nazwa LCD_SSD1306_AVR i LCD_HD44780_PIC i wtedy chyba każdy zrozumie, że jeden jest na PIC, a drugi na AVR, jeden dla sterownika ssd1306, a drugi dla hd44780. Tylko ważna jest kolejność ustal jaka i trzymaj się jej od najbardziej ogólnej do bardziej szczegółowych i jak jedną kolejność opracujesz to następne rób w tej kolejność. Zaczynam przygode z c# także mi się tak wydaje :P .


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lis 2015, o 09:09 
Offline
Nowy

Dołączył(a): 24 wrz 2015
Posty: 14
Lokalizacja: Oława
Pomógł: 3

perlon napisał(a):
trzeba inaczej nazywać jedynie biblioteki a w środku nazwy mogą być takie same.


Bartek123 napisał(a):
Nie wiem czy dobrze zrozumiałem, ale ja bym nadał nazwy takie np:
LCD_SSD1306_AVR
LCD_HD44780_PIC

Ależ to proste rozwiązania. Wystarczy nadać klasom nazwy Lcd i umieścić je w osobnych bibliotekach tak jak piszecie. Dzięki za porady. Pozdrawiam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO