西西河

主题:【原创】乱侃软件工程师的素养 1 -- poorfat

共:💬71 🌺108
全看分页树展 · 主题 跟帖
家园 【原创】素养 2 - 留下痕迹

另一个和程序可测性相关的问题是,无论你的程序怎么写,一定要记住要想尽办法留下痕迹(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);

}

总之,你要想尽一切办法留下痕迹。将来你排查错误的时候,你会明白这些都是值得做的。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河