Gal*_*mon 20 lisp version-control system common-lisp
现在,我所做的一切都设法适合单个源文件,而且这个文件非常小.你如何决定拆分成单独文件的数量和内容?
使用Java,可以很容易地确定一个文件中的内容(已经为您做出了决定),但在Lisp中我发现我编写了许多相互构建的小函数,并且很难确定哪些内容应该被拆分出.当我在Lisp中处理更大的项目时,不必重新发明轮子会很好,但我在网上找不到很多关于此的具体信息.
你能分享一些处理Lisp中较大项目的策略,还是指出一些处理这个问题的资源?
Rai*_*wig 14
当您开始编写Lisp程序时,从单个文件开始可能会很有用.一旦代码变得太大(无论是什么),你可以将其拆分.当你正在接近需要组织的事情时,你应该投入一些工作.
一些提示:
有一些工具可以管理源文件依赖关系并提供编译,加载,编译和加载等操作.ASDF是一个,但也有一些.
您需要一个文件来描述依赖项.将其命名为可以识别.
您可能需要一个文件来定义一个或多个包.
您可能需要在其自己的文件中放置特定于实现的功能.
将大量配置数据移动到自己的文件中
一般实用程序应该在另一个文件中
应在使用之前定义宏.其他文件依赖于此文件,如果更改宏定义,则应自动重新编译.
如果逻辑连接,则将功能组合到一个文件中.在绘图程序中:所有绘图功能,所有用户界面命令,将数据保存到文件,打印,...
不要太在意文件大小.Lisp源文件可能很大.有时候是100k.
开发环境支持在文件中移动.M-.在符号上找到它的来源.
确保您可以重新加载文件,而无需重新启动整个Lisp.
Common Lisp提供LOAD和COMPILE-FILE作为函数.您可以在自己的文件中使用这些功能.