主题:【原创】乱侃软件工程师的素养 1 -- poorfat
另一个和程序可测性相关的问题是,无论你的程序怎么写,一定要记住要想尽办法留下痕迹(trace) ,以便将来可以方便地排查错误。
请看这样一段程序:(以下用伪码表示)
function_one( ... );
function_two( ... );
function_three( ... );
够了,我又要骂人了。这个比上面的例子更糟糕。你连着调用三个函数,却没有作任何检查。 你根本不可能知道会发生什么事情,就连出错了你都不知道。
如果你的程序是一个大项目的一部分,而且已经有了一个标准的日志函数(logging function), 那么你最好不仅要加查错语句,还要加日志语句。
比如像这样:
log("calling function_one ...");
if ( !function_one(...) )
{
log("calling function_one failed.");
return OMG_WE_FAILED_AT_ONE;
}
另两个以此类推。
如果你的项目里已经定义过异常类,那更好了。你可以用try-catch语句, 像这样:
try
{
function_one( ... );
function_two( ... );
function_three( ... );
}
catch (e)
{
log("an exception is caught. "+ e.message);
}
总之,你要想尽一切办法留下痕迹。将来你排查错误的时候,你会明白这些都是值得做的。
- 相关回复 上下关系8
🙂相对来说一些现在的动态语言,如ruby更加接近自然语言 季侯 字30 2008-08-14 05:57:57
🙂有点像英语写作时的维多利亚时代的老古董 老驴 字88 2008-08-13 18:05:37
🙂驴兄真是一针见血啊,呵呵。 季侯 字0 2008-08-13 19:41:16
🙂【原创】素养 2 - 留下痕迹
🙂log太多不是好事 yhz 字133 2008-08-29 06:16:23
🙂应该可以配置的 AK47 字73 2011-01-19 14:03:34
🙂这段代码有很大问题 zhonghm 字233 2008-08-16 19:30:20
🙂建议你search一下 exception safety 1 使用尽量中文 字108 2008-08-14 14:19:14