Doxygen vs Javadoc [ditutup]

Saya baru menyadari dari sebuah artikel di CACM bahwa Doxygen juga berfungsi dengan Java (dan beberapa bahasa lainnya). Tapi Java sudah memiliki alat Javadoc. Adakah yang bisa menjelaskan apa pro dan kontra dari kedua pendekatan tersebut? Apakah keduanya saling eksklusif? Apakah ada plugin Maven untuk Doxygen?


person lindelof    schedule 22.10.2008    source sumber


Jawaban (4)


Doxygen memiliki sejumlah fitur yang tidak ditawarkan JavaDoc, misalnya. diagram kelas untuk hierarki dan konteks kerja sama, lebih banyak halaman ringkasan, penjelajahan kode sumber opsional (dihubungkan silang dengan dokumentasi), dukungan tag tambahan seperti @todo pada halaman terpisah dan dapat menghasilkan output dalam format TeX dan PDF .Ini juga memungkinkan banyak penyesuaian visual.

Karena Doxygen mendukung tag JavaDoc standar, Anda dapat menjalankan Doxygen pada kode sumber apa pun dengan komentar JavaDoc di dalamnya. Seringkali masuk akal untuk menjalankan kode sumber tanpa JavaDoc karena diagram dan penelusuran kode sumber dapat membantu memahami kode bahkan tanpa dokumentasi. Dan karena alat JavaDoc mengabaikan tag yang tidak diketahui, Anda bahkan dapat menggunakan tag Doxygen tambahan tanpa merusak pembuatan JavaDoc.

Setelah mengatakan semua ini, saya harus mengakui bahwa saya sudah lama tidak menggunakan Doxygen. Saya cenderung sangat bergantung pada IDE saya saat ini untuk memberikan visualisasi yang sama dan saya biasanya tidak membaca JavaDoc sebagai halaman HTML tetapi mengimpor file sumber ke IDE saya sehingga dapat menghasilkan flyout JavaDoc dan saya dapat langsung ke definisinya. Itu bahkan lebih kuat dari apa yang ditawarkan Doxygen. Jika Anda ingin memiliki dokumentasi di luar IDE dan senang menjalankan perkakas non-Java maka Doxygen patut dicoba karena tidak memerlukan perubahan apa pun pada kode Java Anda.

person Peter Becker    schedule 27.11.2008
comment
Dengan maven, Anda dapat menggabungkan javadocs dan menghubungkannya secara silang menggunakan plugin situs. Selain itu, ada dokumen UML yang dapat digunakan untuk menghasilkan diagram kelas yang Anda maksud juga. Doxygen bisa sangat lambat untuk proyek besar dan memerlukan sejumlah rintangan untuk dilewati agar lebih cepat - person spy; 23.07.2015

Saya hanya akan menggunakan Doxygen dengan Java jika Anda baru mengenal Java dan pernah menggunakan Doxygen sebelumnya, sehingga mengurangi kurva pembelajaran yang Anda alami dengan javadoc. Jika Anda belum pernah menggunakan Doxygen sebelumnya, saya akan tetap menggunakan javadoc, karena Doxygen dirancang khusus dengan mempertimbangkan Java. Jika Anda tidak mengetahui keduanya, dan Anda menggunakan C++ (atau bahasa lain yang didukung) seperti halnya Java, Doxygen adalah pilihan yang baik, karena Anda dapat menggunakannya untuk kedua bahasa tersebut.

Kedua alat tersebut mudah digunakan, dengan serangkaian fitur serupa. Keduanya memiliki plugin (atau bawaan) untuk NetBeans dan Eclipse sehingga menghasilkan dokumen lebih cepat. Ada banyak gaya komentar yang tumpang tindih yang digunakan oleh masing-masing gaya, namun tidak persis sama, sehingga akan sulit untuk menggabungkannya (Anda harus mengetahui detail < em>keduanya, mengabaikan fitur apa pun yang khusus untuk salah satu fitur tersebut). Saya belum pernah menggunakannya, tapi sepertinya ada plugin Maven untuk Doxygen.

person Bill the Lizard    schedule 22.10.2008
comment
Berikut tautan ke plugin Doxygen Maven: khmarbaise.github.io/doxygen-maven-plugin - person Ashwin Krishnamurthy; 29.07.2015

Saya menyukai kenyataan bahwa dengan Doxygen, Anda bisa menampilkan diagram kelas pada halaman yang sama dengan dokumentasi. Selain itu, saya menyukai kenyataan bahwa ini menghubungkan Anda langsung ke kode sumber, jika diperlukan. Saya tidak mengetahui apakah javadoc memiliki fitur ini.

person dr_pepper    schedule 22.10.2008
comment
Ya, javadoc juga dapat memiliki diagram kelas: yworks.com/en/products_ydoc.htm ( tidak gratis... Saya mencoba mengingat alat gratis lainnya yang serupa) - person VonC; 22.10.2008
comment
comment
Anda dapat menggunakan dokumen APIViz gratis (code.google.com/p/apiviz) untuk menghasilkan diagram kelas di javadoc. - person Ewen Cartwright; 30.11.2008
comment
umlgraph.org plugin maven graphviz - person spy; 23.07.2015

Salah satu keuntungan besar JavaDocs adalah mereka langsung berfungsi. Segala sesuatu yang diperlukan untuk membangun dan melihatnya disertakan dalam JDK yang sudah Anda perlukan untuk menginstal untuk mengkompilasi program Anda.

Doxygen, di sisi lain, bisa jadi sulit untuk diatur dan berfungsi dengan benar. tetapi jika sudah diatur dengan benar maka seharusnya dapat menghasilkan PDF, RTF, dan DocBook, serta HTML. HTML tidak diatur sebaik JavaDocs karena index.html menampilkan halaman kosong secara default. Selain itu, kelas inline dan anggota statis mungkin memerlukan tanda khusus untuk disertakan dalam dokumentasi, dan jika Anda ingin membuat PDF, Anda mungkin harus menghadapi kerumitan distribusi Linux yang tidak memiliki perintah pdflatex yang diperlukan (mis. Ubuntu/Mint sudah memilikinya masalah baru-baru ini) jadi jika Anda hanya menginstal apt-get dan menjalankannya, Anda mungkin mendapatkan layar penuh kesalahan bahkan dengan program sederhana. Dibandingkan dengan kemudahan mendapatkan javadoc secara otomatis saat Anda menginstal API, penyiapan Doxygen bisa menjadi pengalaman yang menyedihkan. Namun, setelah Anda mengatasi rintangan tersebut, ia akan lebih fleksibel dalam menangani proyek yang melibatkan lebih dari sekadar Java.

person MintUser    schedule 20.04.2014