是否有关于如何构建大型球拍项目的一般指南(相当于如何编写 Go 代码)?
2 回答
您的问题是关于构建大型 Racket 项目,但是您的示例链接如何编写 Go 代码似乎主要是关于如何创建一个包。这些不一定是同一件事(尽管您可能会将大型 Racket 程序划分为不同的源目录,这些目录可能是“集合”或“包”)。无论如何,要解决这两个部分:
如何构建大型 Racket 项目: Asumu 的回答提供了一个很好的链接:如何对 Racket 进行编程。特别是参见第 3 节“代码单元”,其中讨论了模块。此外,您将在 Racket 本身的源代码中看到的一种技术是,一个模块可能仅存在于
require
其他人和provide
他们的功能中——“重新提供”。换句话说,您可以使用这样的模块来分块其他模块,并有选择地将它们公开为结构中的“层”。此外,如果适合您的问题域,Racket 有一个类系统和泛型如果您有某种“接口”或“协议”策略。和更多。真的,Racket 中有很多很多技术可以用来构建一个大型项目。如何制作球拍包:这是一个有趣的提问时间。从历史上看,Racket 使用了一个叫做 Planet 的东西作为包管理器。最近,它有一个新的包装系统。尽管尚未正式退出测试版,但许多人已经将其用于实际工作。当前的文档虽然与 Go 文档的风格不同,但它是Racket Beta 中的包管理)。
您要求提供一般指导方针,这有点开放。如果您有任何具体的选择,您正在权衡如何构建一个大型项目,也许您可以一一询问以获得更清晰的答案?
有一个名为How to Program Racket的 Racket 风格指南将在未来版本的 Racket 的文档中提供。如果您构建了Racket的git 版本,您可以在我发布的链接或捆绑的文档中阅读它。