Zdravim,
rad bych znal nazor zkusenych (pak si snad dojdu k obecnemu zaveru z medianu ;-)) - jak formatovat symbolicke konstanty, jak hojne je pouzivat? Dodavam, ze mi jde o kod urceny pro svet embedded...
1/ urcite je vice nez vhodne zavorkovat makra, ale je rozumne tak i pro konstanty?
#define SUM(a,b) (a+b) /* OK s ohledem na pouziti v kodu a prioritu operatoru */
#define MAX (100U) /* nadbytecne zavorky, zneprehledneni mezi-kodu zpracovaneho preprocesorem */
2/ o vyuziti symbolicke konstanty napr. pro maximum neni asi pochyb, ale je to vhodne i v nasledujicim?
#define EMPTY_BUFFER 0U
while(length-- > EMPTY_BUFFER)
foo();
Opomenme mozna elegantnejsi (mluvime o embedded, tedy vetsi "explicitnost" - MISRA aspol.) zapis while(length--)
- v tomto pripade kompilator (asi) vygeneruje stejny assembler pro oba zapisy.
Neni ve finale "citelnejsi":
while(length-- > 0U)
foo();