Udokumentowałem wszystkie moje zajęcia i teraz chcę zintegrować przykład korzystania z tych klas. Jak mogę to zrobić?Jak zintegrować przykłady z Doxygen?
Odpowiedz
Można umieścić przykładowy kod źródłowy w specjalnej ścieżce zdefiniowanej w konfiguracji doxygen pod pozycją EXAMPLE_PATH
, a następnie wstawić przykłady za pomocą znacznika @example
.
Doxygen wygeneruje dodatkową stronę zawierającą źródło przykładu. Ustawi także link do niego z dokumentacji klas zawierającej przykładowy tag.
Alternatywnie, jeśli chcesz używać małych fragmentów kodu można wstawiać je @code ... @endcode
Dokumentacja dla tej jest tutaj: Doxygen documentation?
Wystąpiły błędy przy użyciu @przykładu, aby dołączyć przykładowy plik do dokumentacji. To jest obejście, którego używałem.
Miejsce examplefile.cs
w folderze/projekcie specjalnie na przykład kodu. Place tego folderu na liście Doxygen EXCLUDE
(Expert-> Input-> EXCLUDEin Doxygen GUI frontend) oraz w EXAMPLE_PATH
(Expert-> Input-> EXAMPLE_PATH w Doxygen GUI frontend)
Place to blok kodu gdzieś w udokumentowany file (I umieścić go w pliku przykładem jest za.)
/** @example examplefile.cs
* A description of the example file, causes the example file to show up in
* Examples */
To powoduje, że plik, aby pokazać się na podstawie przykładów z menu Doxygena, ale nie pojawiają się jako klasa/pliku w projekcie.
Następnie udokumentować klasa/funkcja:
/** @brief MyClass does something
* @details I have something more long winded to say about it. See example
* in examplefile.cs: @include examplefile.cs */
Powoduje to przykładowy plik do wydrukowania w jego całości w dokumentacji MojaKlasa.
dodać sposób doxyfile
EXAMPLE_PATH = dir_example \
może połączyć wszystkie przykłady w tym samym pliku, takie example_list.h i umieścić go w doxyfile
INPUT = example_list.h \
(język - rosyjski) http://www.scale-tech.ru/SimBookmaker/doc/html/examples__list_8h_source.html i http://www.scale-tech.ru/SimBookmaker/doc/html/examples.html
Innym sposobem wykonania tej czynności jest użycie polecenia \snippet
.
- w pliku nagłówka napisać coś takiego:
\section ex1 Example \snippet path_to_test_class/TestClass.cpp TestClass example \section ex2 Expected output \snippet path_to_test_class/TestClass.cpp TestClass expected output
- W TestClass.plik cpp, mieć coś takiego:
//! [OptimizeSpeedOnTrackTest example] Class c; const double res = c.do_something(); //! [OptimizeSpeedOnTrackTest example] //! [OptimizeSpeedOnTrackTest expected output] ASSERT_DOUBLE_EQ(5,res); //! [OptimizeSpeedOnTrackTest expected output]
path_to_test_class
musi być w EXAMPLE_PATH.
To daje następujące:
- Twoje przykłady są nie tylko tam dokumentacji: one zapewnić pokrycie testowego oraz
- testu biegacza (& kompilator) daje ubezpieczeniowych, które twoje przykłady faktycznie kompilacji & bieg
- to wpisuje się w dość ładnie w przepływie pracy TDD
Używanie \ snippet jest tym, czego potrzebuję. Zauważyłem, że dostaję puste pole bez kodu, gdy dołączę \ krótki opis elementu, do którego chcę dołączyć \ snippet. –
A-ha! ale użycie sekcji \ do dodania tytułu pozwala mi również dołączyć \ brief. –
Tak zrobiłem to, ale .cpp-plików w dodatkowym stronie są em pty:/ –
hmmm czy doxygen daje jakieś ostrzeżenie lub błąd? – John
Nie. Załączam przykładowe pliki w tagu INPUT, aw tagu EXAMPLE_PATH pliki z tagiem \ example ... nie wiem, jaka jest wina. –