Common Lisp宏真的是debug的恶梦
作者:互联网
代码出错了,你却不知道错在哪里。通过调用栈来跟踪很快就迷路了,因为报错的代码不是你写的,你很可能完全看不懂——那是宏展开后的代码,这就是被很多人吹捧的“程序可以自己写程序”。节制对宏的使用怎么样?或者干脆不用还不行吗?不行,因为语言本身的一大部分就是用宏实现的。。。
为了避免尴尬,你最好每写一个函数都确保测试通过,再写下一个。否则,当你写了一大段代码再回过头来测试的时候,通常就会发生上面的问题。当所有手段都穷尽还是一头雾水的时候,你不得不把刚刚写的代码一段一段地注释掉,用最笨的办法来定位错误。新写的代码倒还罢了,如果是对现存的代码做重构,东改改西改改,最后发现跑不起来了,哪里出错了也不知道。当这种情况发生时,你最好祈祷所有的代码都有备份或者可以通过git滚回去,否则你直接弄死一个项目都有可能。
标签:Lisp,代码,程序,改改,测试通过,Common,debug,最笨,出错 来源: https://www.cnblogs.com/zh-geek/p/16209824.html