构建大型球拍项目的指南

tar*_*lah 10 racket

如何构建大型球拍项目是否有任何通用指南(相当于如何编写Go Code)?

Gre*_*ott 10

您的问题是关于构建大型Racket项目,但是您的示例链接如何编写Go Code似乎主要是关于如何创建包.这些不一定是一回事(尽管你可能会将一个大型的Racket程序划分为不同的源目录,可能是"集合"或"包").无论如何,要解决这两个部分:

  1. 如何构建一个大型的球拍项目: Asumu的答案提供了一个很好的链接:如何编程球拍.特别参见讨论模块的第3节"代码单元".此外,您将在Racket本身的源代码中看到的一种技术是,模块可能仅存在于其他人和他们的功能中- 以"重新提供".换句话说,您可以使用这样的模块来填充其他模块,并选择性地将它们作为结构中的"层"公开.此外,如果适合您的问题域,Racket有一个系统,如果你有某种"接口"或"协议"策略,那么它就是泛型.和更多.实际上,Racket中有许多可用于构建大型项目的技术.requireprovide

  2. 如何制作球拍套餐:这是一个有趣的时间.历史上,Racket使用了一种名为Planet的东西作为包管理器.最近,它有一个新的包装系统.虽然尚未正式退出测试阶段,但许多人已经将其用于实际工作.目前的文档虽然采用与Go文档不同的风格,但却是Racket中的包管理(Beta).

你问了一般指导方针,这有点开放.如果你有任何特定的选择,你正在权衡如何构建一个大型项目,也许你可以逐一询问这些,以获得更清晰的答案?


Asu*_*awa 5

有一个名为How to Program Racket的Racket风格指南将在未来版本的Racket的文档中提供.如果您构建了Stret的git版本,您可以在我发布的链接或捆绑的文档中阅读它.