一线研发之声 https://bbs.21ic.com/?567930 [收藏] [复制] [RSS] ------最底层、最深邃、最负重的编程之歌

日志

一线研发之声 之 完美主义者的程序员特征 <三>

热度 7已有 3472 次阅读2014-1-13 00:37 |个人分类:一线研发之声|系统分类:嵌入式系统| 程序员, c语言, 常量, else

4.没有不明何意的常量。
常量的含义,通常只有原创者才知道。
如果没有特别的说明,没有一定的经验,这个程序回头在阅读时就难以看懂。
求哪位高手来一段鲜明对比的源码吧?



5. if 必有else,switch 必有default。
在他的程序里你不会看到一个单一的if语句,哪怕else确实什么都不需要处理,你也会看到这样的代码。
       
  1. if (is_condition_true())
  2. {
  3.     do_something();
  4. }
  5. else
  6. {
  7.      /* do nothing */
  8. }
复制代码
      因为,在多年的工作经验中,他发现,系统的崩溃,多数死在else里面。这样的代码,告诉别人也告诉自己,此处的else是经过充分考虑,的确没有需要处理的。下次自检程序时,此处就可以快速跳过。
      同样的道理,每一个switch,其default,也是经过深思熟虑的,充分防错。
       
  1. switch (state)
  2. {
  3.     case  STATE_XXXX:
  4.         break;
  5.     case  STATE_YYYY:
  6.         break;
  7.     ........
  8.     default:
  9.         /* do nothing */
  10.         break;
  11. }
复制代码




路过

鸡蛋
7

鲜花

握手

雷人

刚表态过的朋友 (7 人)

发表评论 评论 (3 个评论)

回复 sedatefire 2014-1-14 10:31
自己顶下
回复 sedatefire 2014-1-14 10:32
在找一段“不敏感”的常量代码案例...
回复 www5911839 2014-11-16 10:32