2009-09-24 84 views
0

我是CS学生,今年有一个编译器项目。如何管理编译器项目?

我想知道如何与我的三个合作伙伴管理我的项目。

我知道,编译器有很多级和过程,我想利用这些功能,以便管理我的项目。

感谢您提供给我的任何提示/指针/资源。

+0

这是一个有点不清楚是否要本身(采用单片机,协同软件,CI等),或者您想了解如何划分项目的设计和实施建议,在技术上来管理项目?这是什么? – Steen 2009-09-24 09:37:40

+5

三人在第四人称代码时吃三明治。 :) – 2009-09-24 11:05:10

回答

0

您应该使用DCVS如Git或水银,所以你们每个人都可以单独开发,同时它还是很容易合并更改。

接下来,你应该定义测试用例知道哪些功能,你需要和你将如何知道一个功能的工作方式。

这应该帮助找出哪些不重叠太多所以团队的每个成员都可以不用踩着对方的脚趾工作项目的不同区域。

2

您还没有具体指定您正在编译的内容,因此要提出具体建议有点困难。

如果你正在做的事情的小说,我写了一篇博客发表几个星期前,有一些具体的事情要考虑:

http://www.plsadventures.com/2009/09/why-programming-language-design-is-hard.html

如果您正在编译一个预先存在的语言,那么我会努力生成一个体面的测试语料库,并考虑使用测试驱动开发来管理您的进度。

正如你所提到的,在大多数相对离散的编译器中有一些明显的组件。我会考虑记录连接这些组件的接口。例如,如果一个人正在编写词法分析器,而另一个人正在编写解析器,那么确保您有一个写在某处的令牌列表。应该定义并写下解析和/或抽象语法树的格式,以便任何致力于优化或代码生成的人都在同一页面上。

最重要的是,测试确实有助于这种整合。您应该能够分别构建这些组件,并将它们放在一起。