2009-05-30 60 views
14

我正在開發一個相當大的開源RTS遊戲引擎(Spring)。我最近添加了一些可由Lua調用的新C++函數,並且想知道如何最好地記錄它們,同時也激發人們編寫/更新現有Lua調用的很多的文檔。是否存在編輯doxygen註釋的「wiki」?

所以我覺得如果我最初可以將文檔寫成Cox函數附近的doxygen註釋可能會很好 - 這很容易,因爲函數體顯然定義了函數的功能。不過,我希望遊戲開發人員使用引擎的文檔得到改進,引擎通常對git(我們使用的VCS)或C++沒有多少理解。

因此,如果有一種方法可以從C++文件自動生成apidocs,而且還有類似wiki的Web界面,以允許更廣泛的受衆更新評論,添加示例等,那將是理想選擇。

所以我想知道,是否存在一個集成了doxygen風格格式,類似wiki的編輯(最好不允許編輯源文件的任何其他部分)和git的web工具? (將通過網絡界面更改的評論提交給特殊分支)

然後我們開發人員可以隨時合併此分支以將改進添加到主分支,同時開發人員還可以對其進行任何改進文檔將以這個Web工具結束,只需將主分支合併到此特殊分支中即可。

我還沒有發現任何東西,懷疑這個具體存在的東西,所以任何建議,歡迎!

+1

好主意。我喜歡它:) – 2009-05-30 21:13:18

+2

+1,確實非常酷......如果能夠使格式化文檔的編輯體驗優於編輯(有時是神祕的)標記,它可能對「核心開發人員」非常有用。 – unwind 2009-06-02 10:29:00

回答

6

這確實是一個非常酷的想法,幾年前,我也非常需要這樣的東西。不幸的是,至少在那個時候,我無法找到那樣的東西。快速搜索sourceforge和freshmeat也不會在今天提供任何相關信息。

但我同意這樣一個用戶貢獻文檔的wiki前端將是非常有用的,我知道這樣的事實最近也在Lua社區內討論(見this)。

所以,也許我們可以確定要求,以便拿出一個基本的工作草案/原型?

希望這可以讓我們啓動一個具有最少功能的項目,然後簡單地將它作爲開源項目(例如在sourceforge上)發佈,以便其他用戶可以爲其貢獻。

理想情況下,可以使用統一的修補程序來應用以這種方式貢獻的更改。另外,將修改僅限制爲添加/編輯註釋可能是有意義的,而不是允許對文本進行任意修改,這可能可以通過使用簡單的正則表達式來實現。

也許,人們可以通過修改現有(建立的)wiki軟件(如mediawiki)來實現類似的功能。或者最好是已經使用git作爲後端存儲的東西。然後,主要需要滿足那些Doxygen風格的評論,並提供一個簡單的界面。

再想一想,DoxyGen本身已經提供了生成HTML文檔的支持,所以從這個角度來看,它可能真的很有趣,看看DoxyGen如何可能被擴展,以便它與這樣的腳本後端可以輕鬆定製嵌入式源代碼文檔。

這可能主要歸結爲爲doxygen提供一個獨立的腳本(例如在python,php或perl中),然後可選地在自動創建的HTML文檔中嵌入表單,以便可以將文檔修復/增強發送到相應的腳本通過瀏覽器,這反過來將寫入任何修改回到相應的分支。

從長遠來看,如果這樣的腳本支持不同類型的後端(CVS,SVN或git),或者至少可以通用地實現,那麼它將很酷,因此它很容易擴展。因此,如果我們能夠提出一個好的設計,那麼這樣的修改甚至可能被普遍認爲是對doxygen本身的貢獻,這也會給整個事物帶來更多的曝光和動力。

即使這個想法並沒有直接體現爲一個真實的項目,但看看有多少其他用戶真的喜歡這個想法會很有趣,所以它可能會在Doxygen Todo網站上被提及。

編輯:你可能也想看看this文章標題爲"Documentation, Git and MediaWiki"