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

发布时间:2016-3-1 09:23    发布者:designapp
关键词: 代码 , 常量 , 空格
  观文识人,代码无疑是了解一个程序员的最佳途径。
  且不论算法思路,单就代码的界面风格,便可知一二。
  1. 追求精美的对齐。尽可能精确到每一个"断点",是他的追求。





  2.没有tab字符,而是采用4个或8个空格键代替。
  编辑时敲入的是tab键,但其编辑器会设置"文件保存时tab用空格字符替代" 为何呢,因为这样的代码,无论在那种编辑器上打开,都一定是对齐的。拷给别人,才不担心形象受损。
                               
                                                               
                               
                  3.空格、换行、常量替换、{}保护、还有效率。
  if((long_state_var==1)||(long_state_var==2)||((ch>0x2F)&&(ch代码,他就感觉浑身难受、头晕恶心…..
  狂吼一声,这段代码立马会给改成这样。
  if ((long_state_var==1)||(long_state_var==2) \
  ||((ch>0x2F)&&(ch空格也很让人难过。
  赶紧快速编辑了而下,舒了口气。
  if ( (long_state_var == 1)                \
  || (long_state_var == 2)                  \
  || ((ch>0x2F) && (ch空格的美化,更有层次感。
  当他开始维护这段代码,搞清楚逻辑后,无意义的常量就会被处理成这样的,长变量名也会被适当缩短。而0x2F、0x3A这种坑爹的的常量,则会被他心里狠狠地鄙视:
  “丫丫的,原创者这是在炫智商、秀优越吗?”。
  #define MODE_NAME_1 (1) /* 简单描述模式1 */
  #define MODE_NAME_2 (2) /* 简单描述模式2 */
  if ( (stat == MODE_NAME_1) || (stat == MODE_NAME_2) \
  || ((ch>='0') && (ch常量。
  常量的含义,通常只有原创者才知道。
  如果没有特别的说明,没有一定的经验,这个程序回头在阅读时就难以看懂。
  求哪位高手来一段鲜明对比的源码吧?
  5. if 必有else,switch 必有default。
  在他的程序里你不会看到一个单一的if语句,哪怕else确实什么都不需要处理,你也会看到这样的代码。
  if (is_condition_true())
  {
  do_something();
  }
  else
  {
  /* do nothing */
  }
  因为,在多年的工作经验中,他发现,系统的崩溃,多数死在else里面。这样的代码,告诉别人也告诉自己,此处的else是经过充分考虑,的确没有需要处理的。下次自检程序时,此处就可以快速跳过。
  同样的道理,每一个switch,其default,也是经过深思熟虑的,充分防错。
  switch (state)
  {
  case STATE_XXXX:
  break;
  case STATE_YYYY:
  break;
  ........
  default:
  /* do nothing */
  break;
  }
                               
                                                               
                               
               
本文地址:https://www.eechina.com/thread-161463-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表