私は、ゲーム Bitfighter (http://bitfighter.org) 用の新しく拡張された Lua API の文書化に取り組んでいます。私たちの Lua オブジェクト モデルは C++ オブジェクト モデルのサブセットであり、文書化する必要がある Lua に公開されているメソッドは、C++ で使用可能なメソッドのサブセットです。Lua に関連する項目のみを文書化し、残りは無視したいと思います。
たとえば、オブジェクト BfObject はすべての Lua オブジェクトのルートですが、それ自体は C++ オブジェクト ツリーの中間にあります。BfObject には約 40 個の C++ メソッドがあり、そのうち約 10 個が Lua スクリプト作成者に関連しています。ドキュメントで BfObject をルート オブジェクトとして表示し、関連する 10 個のメソッドのみを表示したいと考えています。メソッドの継承を明確にする方法で、その子オブジェクトを表示する必要もあります。
今のところ、すべてのコードが C++ で書かれていると仮定できます。
1 つのアイデアは、doxygen などのシステムが何を見ればよいかを認識し、残りを無視するような方法で、文書化したいオブジェクトにマークを付けるというものです。もう 1 つの方法は、関係のないビットをすべて削除するような方法で C++ コードを前処理し、doxygen のようなもので残っているものを文書化することです。(実際、luadoc を使用してこのアプローチをかなり進めましたが、luadoc にオブジェクト階層を表示させる方法を見つけることができませんでした。)
役立つかもしれないことの 1 つは、すべての Lua オブジェクト クラスがその親クラスと共に一貫した方法で登録されることです。
スクリプトに Lua を使用するゲームの数は増え続けており、その多くには適切なドキュメントが用意されています。誰かがそれを作成する方法について良い提案をしていますか?
PS明確にするために、私は仕事をするツールを喜んで使用します-doxygenとluadocは、私がある程度慣れている例にすぎません。