Poradek v "C"
Michal HW
michalgregor@centrum.cz
Sobota Září 8 10:47:38 CEST 2007
Pokousim se udelat poradek v programu.
V headeru mam:
typedef enum{
UART_Vysledek_Data_Jsou,
UART_Vysledek_Zadna_Udalost,
UART_Vysledek_Chyba
}G_HL_UART_VYSLEDEK;
// Structura pro UARTY
typedef struct {
G_HL_UART_VYSLEDEK Status;
u08 Data;
}G_HL_UART_STAV;
Soubor se includuje do vice modulu. Nebude vadit kompilatoru ze ma definici
UART_STAV a UART_VYSLEDEK ve vice modulech? U typedef to je jasne, ale
nejsem si jist u vyctoveho typu.
Narazil jsem na nekolik zpusobu nazvu funkci a promennych. Jakou mate
zkusenost z praxe?
(Pouzivam znak "_" je to pro mne lepe citelne.)
1) G_Nazev_Funkce - G= globalni
2) G_Soubor_Nazev_Funkce - tak to delam v asembleru, at vim ve kterem
souboru je funkce umistena.
3) p_G_Nazev_Promenne - G=globalni, p - typ (pointer) Tohle je uz trochu
otravne, ale zase cloveka nuti premyslet z jakou promennou vlastne pracuje.
Tady se ale zdroje rozchazeji v pouzitych zkratkach. V jednocipech
nejcasteji pouzvam unsigned char. Jakou zkratku zvolit?
Konstanty a makra se maji psat VELKYMI PISMENY:
Priklad CASOVA_KONSTANTA.
V asembleru pouzivam G_K_CASOVA_KONSTANTA, G = globalni, K = konstanta. A
premyslim o zavedeni M=makro, ale to uz koliduje z m=member pro objektove
programovani.
Nazvy typu a structur se doporucuje psat VELKYMI PISMENY. Jak mam ale vedet
ze je to definice typu a ne konstanta? Pouzivate doplnujici predpony?
Napriklad S_NAZEV_TYPU_STRUCTURY a T_NAZEV_TYPU_PROMENNE?
Dale jsem narazil na doporuceni nesetrit s pismenky v pojmenovani. Takze mi
vznikne nazev G_Pre_Prijmi_Data_UART_Zpracuj_Chyby(); Na muj vkus je to
trochu dlouhe, nevim jestli to budu pouzivat. Zatim jsem to zkousel na
jednom souboru v C a druhy pokus jsem udelal v asembleru. Vysledkem je
citelnejsi kod a to dokonce i v asembleru.
Michal Gregor
Další informace o konferenci Hw-list