2009-09-24 47 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

如果您正在編譯一個預先存在的語言,那麼我會努力生成一個體面的測試語料庫,並考慮使用測試驅動開發來管理您的進度。

正如你所提到的,在大多數相對離散的編譯器中有一些明顯的組件。我會考慮記錄連接這些組件的接口。例如,如果一個人正在編寫詞法分析器,而另一個人正在編寫解析器,那麼確保您有一個寫在某處的令牌列表。應該定義並寫下解析和/或抽象語法樹的格式,以便任何致力於優化或代碼生成的人都在同一頁面上。

最重要的是,測試確實有助於這種整合。您應該能夠分別構建這些組件,並將它們放在一起。