昨天改好一段Perl脚本,正好到了下班时间,回想起前面调试的过程,不禁暗自庆幸,多亏了这些自由(和开源)软件。
下班的路上,通常是我胡思乱想的时候,反正到家要花近一个小时,也没什么别的事情可干。我就接着想,要是没有自由(和开源)软件,我该怎么写程序呢?我还能写程序吗?想着想着,不禁一身冷汗,这才有些理解了Richard Stallman的用意。没有自由(和开源)软件,没有同样自由的文档和HOWTO,我怎么可能达到今天的水平,没有了emacs、cvs、Perl、Graphviz等等工具,我还怎么写出象样的程序呢?还怎么能做到Test-Driven Development?还怎么Enjoy debugging?
描述一下我的调试过程吧,一段XML数据,按照我的理解,某些数据所在的entity必然是另外某种entity的子节点,然而测试程序显示我的假设不对,但我又不知道为什么?这段XML数据是自动生成了,数据量很大,层次很多,根本不知道问题出在哪里?是我的测试程序写错了还是我的假设错了?以前学过GraphViz的语法和应用,很适合可视化这种层次结构的数据。又想起来以前看到过有一个GraphViz的Perl Module,可以生成dot文件,就决定试一试,结果一目了然(一个同事用java写了一个强大的viewer,非常方便),是我的假设错了。
没有评论:
发表评论