Chinaunix首页 | 论坛 | 博客
  • 博客访问: 929124
  • 博文数量: 201
  • 博客积分: 8078
  • 博客等级: 中将
  • 技术积分: 2162
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-20 17:22
文章分类

全部博文(201)

文章存档

2013年(3)

2012年(11)

2011年(34)

2010年(25)

2009年(51)

2008年(77)

分类: WINDOWS

2011-01-19 09:58:24

编写更好的代码除了保证逻辑正确外应该从两个方面考虑,首先便于定位错误,其次在逻辑正确上考虑扩展与可预见的改动。

1、慎用复制粘贴。
2、对与程序外部的数据交换需要作记录,以便于确认错误。这样记录出来的数据同时可以作为程序的输入回放,来方便快速的定位和重现问题。
3、多下断言,对于非法参数与程序跑到不可预期的地方应该马上终止程序,这样便于定位错误。发生错误后,重新修正后再让程序继续跑。
4、给将来的改动留有余地。将来的改动可能是可以预期的,也可能不可意料的。所以应该遵循一个原则,让函数内部代码尽可能的紧凑。例如。

if (rx) {
   // do something not relative to rx;

 
   call_func(rx);
}

就不如


if (rx) {
   // do something no relative to rx;

}

if (rx)
call_func(rx);

更显得紧凑。

特别是将来 do  something no relative to rx 变成 do something relative to rx, 导致rx改变时,那么将使得不引入潜在问题(当然了要看新的逻辑)。
5、接口应该针对提供者来设计,而不是调用者。假如你纠结于到底这个接口应该从哪个模块的角度来考虑,那么可以肯定你需要使用桥接模式。
阅读(674) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~