我知道#define
s等通常不会缩进。为什么?缩进#defines
我在一些代码在其中有#define
S,#ifdef
S,#else
S,#endif
S等可怕的混合工作的时刻,所有这些往往与普通的C代码混合在一起。 #define
的非缩进使得它们难以阅读。缩进代码与非缩进#define
s的混合是一场噩梦。
不缩进#define
s的好处是什么?如果我缩进它,它会让我变成一个坏人吗?这不是更好吗?
#ifdef SDCC
#if DEBUGGING == 1
#if defined (pic18f2480)
#define FLASH_MEMORY_END 0x3DC0
#elif defined (pic18f2580)
#define FLASH_MEMORY_END 0x7DC0
#else
#error "Can't set up flash memory end!"
#endif
#else
#if defined (pic18f2480)
#define FLASH_MEMORY_END 0x4000
#elif defined (pic18f2580)
#define FLASH_MEMORY_END 0x8000
#else
#error "Can't set up flash memory end!"
#endif
#endif
#else
#if DEBUGGING == 1
#define FLASH_MEMORY_END 0x7DC0
#else
#define FLASH_MEMORY_END 0x8000
#endif
#endif
我已经看到了这种风格,我的老板使用它。而且,就像他的其他代码一样,它只是一团糟。想象一下,从正常的if()语句中删除所有缩进,并改用这些注释。你会抱怨你不能轻易看到他们指的是什么。 – Rocketmagnet 2010-09-14 20:57:24