我目前正试图使用测试驱动开发方法来做一个Haskell项目。在Java中,我们可以创建一个包含src和bin文件夹的精细结构化项目,然后有用于使用JUnit进行单元测试的主文件夹和测试文件夹。我只是想知道有没有一个标准的方法来获得这样的结构在Haskell?源文件夹用于二进制文件夹,在源文件夹中有两个文件夹,一个用于测试主源文件。
我的参考是alway
Structure of a Haskell project和
How to write a Haskell program,它说明了一些默认值,社区或多或少似乎遵循。它为我工作很好,到目前为止,但我的项目还没有很大,至今。
原文链接:https://www.f2er.com/javaschema/282422.html在Structure of a Haskell project声音建议听起来类似于你在帖子中概述的几个小修改,如测试文件夹在与src文件夹相同的目录。
编辑:
cabal init将为你生成一个最小的量,包括具有相关依赖的cabal文件,如果你有一个至少有导入的任何文件。这是一个伟大的开始,但只是你要找的一部分。
理想情况下,作为一个项目的增长,cabal文件和目录层次结构将自动保持更新,我不知道任何工具公开,将做到这一点。它是在我的也许一天的名单,我相信它是许多其他人。
-odir和-hidir可以与ghc一起使用以将* .o和* .hi文件放在单独的目录中。你可以阅读更多在GHC user guide’s section on separate compilation)
编辑2:
其他相关/重叠职位:
> Basic Structure of a Haskell Program
> Haskell module naming conventions
> Large-scale design in Haskell?