Poradek v "C"
Ladislav Vaiz
spam@nagano.cz
Sobota Září 8 16:22:48 CEST 2007
POZOR! Následující text se týká jazyka C a zmíněný je i Linux. Pokud při
shlédnutí těchto slov začínáte vidět rudě, tak raději smažte mail bez
čtení. Konstruktivní připomínky jsou samozřejmě vítány :-)
> 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.
>
To se dělá preprocesorem:
#ifndef __FILE_H
#define __FILE_H
#include <stdio.h>
typedef ...
#define ...
#endif
>
> Narazil jsem na nekolik zpusobu nazvu funkci a promennych. Jakou mate
> zkusenost z praxe?
>
No já se držím filosofie popsané v /usr/src/linux/Documetation/CodingStyle:
C is a Spartan language, and so should your naming be. Unlike Modula-2
and Pascal programmers, C programmers do not use cute names like
ThisVariableIsATemporaryCounter. A C programmer would call that
variable "tmp", which is much easier to write, and not the least more
difficult to understand.
>
> 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?
>
Já to píšu:
enum stavy{
ST_PRVNI,
ST_DRUHY
};
enum stavy stav;
Vlastně ani nepoužívám typedef.
Samozřejmě pro velké projekty typu statisíce řádek může být vhodnější
rozlišovat identifikátory trochu víc. Maďarskou notaci nepoužívám.
Láďa
Další informace o konferenci Hw-list