為你的遊戲自動生成文檔

自古以來,遊戲開發無疑是軟體工程中非常複雜的一種。

因此,簡潔清晰的API文檔至關重要。

但是,手動編寫耗費大量時間。而我們在閱讀UE4的官方API手冊時,不難發現從注釋直接生成的痕迹。

於是我就想到了根據注釋生成文檔的工具,支持c++的並不多,doxygen就是其中非常經典的一款。

它支持html、latex等類型,還能畫出類圖、引用關係圖。。。

然而,UE4特有的魔改版和傳統C++還是有所不同的,以及藍圖文檔如何處理也是問題。

首先,先來熟悉一下doxygen支持的注釋格式吧

比如詳細注釋(detailed description)可以這麼寫,分別是JavaDoc、Qt的風格

這麼寫

甚至這麼寫

簡要注釋(brief description)個人喜歡這麼寫

當然還有先短後長,代碼注釋同行等等情況,只要打開電腦上的

就一目了然了,這裡不再贅述。

接下來為了方便起見,我寫了一個批處理文件進行代碼文件的預處理和生成html。

rd/s/q "AimPracticeB4DocPlugins"rd/s/q "AimPracticeB4DocSource"xcopy "Source*.h" "AimPracticeB4DocSource*.h" /s/excopy "Plugins*.h" "AimPracticeB4DocPlugins*.h" /s/efor /d %%i in (AimPracticeB4DocPlugins*) do ( rd/s/q %%iBinaries rd/s/q %%iContent rd/s/q %%iIntermediate rd/s/q %%iResources)doxygen Doxyfile"D:Program FilesdoxygenOuthtmlindex.html"

我只移動了所有Plugins和Source下的.h頭文件,之後刪去了*.generated.h以及一些多餘的目錄,這樣能減少doxygen處理的代碼量,加快每次文檔迭代速度。

從命令行中輸入doxygen,我們不難發現

doxygen+空格+配置文件名 就可以像圖形化界面一樣進行生成操作啦

為了便於創建配置文件,我們還是需要打開

主要就是填入源碼目錄和目標目錄,然後Ctrl+S就能把這個配置保存為一個無後綴名的配置文件了,這裡我取名為Doxyfile。

最後就是激動人心的打開.bat文件了!

隨後index.html會被自動打開

以我的《射擊與砍殺》為例,隨手點開其中一個類

還可以按字母索引

這時候可能有人有疑問了,你這藍圖類明明不是C++代碼,怎麼也會出現呢?

其實真相是,我根據藍圖手動創建了對應的C++頭文件。。。

比如現在有個藍圖類叫bp_aimpracticehuman

我在Bps目錄下創建了bp_aimpracticehuman.h

當然,人工進行藍圖部分文檔更新是免不了的了。

由於用於生成文檔的源碼並不在項目解決方案內,所以不造成影響。

推薦閱讀:

《Sky光?遇》——關於社交的一場社會實驗
《人類一敗塗地》憑什麼在一年半後狂賣130萬份?
致獨立開發者的一封公開信
Samorost 的銀河歷險記
Backbone:一款與《動物莊園》內核接近的偵探解謎遊戲

TAG:遊戲開發 | 獨立遊戲 | 虛幻引擎 |