最近用C#在写一个控制硬件的视窗程式,
控制该硬件的function(API) prototype 全部包在一个.cs档里头,实作则是包在dll。
现在要为这个视窗程式加上call logger,作为日后追踪debug之用,
只要呼叫到控制硬件的API全部要纪录。
所以原本是这样的程式:
HW_API(para0,para1);
加上call log以后就会变这样:
RichTxtBox.AppendText(DateTime.Now.ToString() //纪录进入API时间
HW_API(para0,para1);
RichTxtBox.ApependText(Format.String("HW_API({0},{1})",para0,para1));
这样写call log坏处有很多:
1. 一行程式变三行
2. 打乱原本排版
3. 很可能call log程式码哪里写错,结果要用来debug的东西自己有bug
4. 程式码重复性高, 却不能集中处理, 提高重用性
我一直想,有没有可能给API.cs档加入什么冬冬?
作一次就可以一劳永逸,万一有错也比较容易发现,但想很久还是想不到,
不知道版上高手们,有没有好的意见?