2009-09-16

工作札记 (10)

花了三天堆积了200多行elisp代码,这样我可以用它在v2的基础上自动生成v3的头文件和实现代码。 写这些elisp代码的时候深切体会了代码风格(coding style)不一致造成的麻烦,并再一次体会到软件系统构架和API设计的重要性。代码风格的不一致导致解析源代码的时候多出许多分支逻辑,而退一步讲,如果v2的API设计的很好,这200多行代码可以再减少很多。

我把自己的TeX文件迁移到CJKutf8后,萌生了一个念头,就是调整那些文件的排版,尽量减少LeTeX的警告信息。看了生成出来的pdf文件,刚好有一页是讲述当初为什么学 elisp -- 随心所欲的操纵 emacs。 不经意之间,三年前的决定产生了一个比较好的回报。 可能有许多东西并不和工作内容有直接联系,比如elisp和scheme。 但是我的第一个业余的代码生成工具是用scheme写的,生成和项目相关的代码 (后来用Ruby/ERb重写了,并在组内作了个讲座 -- 如果坚持 scheme 的话, autogen 是个不错的工具); Elisp 也是 -- 虽然和项目使用的语言无关,但是我可以用它生成我们需要的代码。 这样想来,现在学 Haskell 将来用到它的机会也不会很渺茫。

写到这里,我又想起曾经三分钟热度向MM极力推销 SICP,不过后来不了了之了。

标签:

0 Comments:

发表评论

<< Home