Saya punya contoh kode kecil yang ingin saya sertakan dalam komentar Javadoc untuk suatu metode.
/**
* -- ex: looping through List of Map objects --
* <code>
* for (int i = 0; i < list.size(); i++) {
* Map map = (Map)list.get(i);
* System.out.println(map.get("wordID"));
* System.out.println(map.get("word"));
* }
* </code>
*
* @param query - select statement
* @return List of Map objects
*/
Masalahnya adalah contoh kode muncul di Javadoc tanpa jeda baris sehingga sulit dibaca.
-- ex: looping through List of Map objects -- for (int i = 0; i list.size(); i++) { Map map = (Map)list.get(i); System.out.println(map.get("wordID")); System.out.println(map.get("word")); }
Parameters
query - - select statement
Returns:
List of Map objects
Saya kira saya salah mengasumsikan tag kode akan menangani jeda baris. Apa cara terbaik untuk memformat contoh kode dalam komentar Javadoc?
Saya mengalami kesulitan dengan memasukkan contoh kode spesifik dalam komentar javadoc. Saya ingin membagikan yang ini.
Harap perhatikan hal berikut:
<code>
tag lama untuk mencegah tanda kurung keriting ditafsirkan{@code ...}
- tag untuk mendapatkan obat generik yang disertakan dalam output@Override
melalui "{@literal @}Override
" karena generator javadoc "memiringkan" di sana karena fakta bahwa @ masuk langsung setelah braket keriting pembukaan{@code
dan{@literal
, untuk mengompensasi ruang dalam dan menjaga perataankode javadoc:
akan dicetak sebagai
sumber
Sumber java memiliki banyak contoh bagus untuk ini. Berikut ini contoh dari kepala "String.java":
sumber
<pre><blockquote>...</blockquote></pre>
<p><blockquote><pre>
</pre></blockquote></p>
List<String>
. Untuk itu saya gunakan<pre>{@code ... }</pre>
.Lampirkan kode multiline Anda dengan
<pre></pre>
tag.sumber
Anda perlu
<pre></pre>
tag untuk jeda baris, dan{@code ... }
di dalamnya untuk generik. Tapi kemudian itu tidak diperbolehkan untuk menempatkan brace pembuka pada baris yang sama dengan<generic>
tag, karena kemudian semuanya akan ditampilkan pada 1 baris lagi.Menampilkan pada satu baris:
Tampilan dengan jeda baris:
Hal aneh lainnya adalah ketika Anda menempelkan kurung kurawal
{@code
, itu akan ditampilkan:Keluaran:
sumber
...
``). Anda tidak perlu<code>
dan memberi<pre>
tag. Saya mengedit jawaban Anda dalam pikiran ini.<pre/>
diperlukan untuk menjaga garis.{@code
harus memiliki jalurnya sendiri<blockquote/>
hanya untuk lekukan.PEMBARUAN dengan JDK8
Persyaratan minimum untuk kode yang benar adalah
<pre/>
dan{@code}
.hasil panen
Dan opsional di sekitarnya
<blockquote/>
memasukkan lekukan.hasil panen
Memasukkan
<p>
atau mengelilinginya<p>
dan</p>
menghasilkan peringatan.sumber
Saya dapat menghasilkan file HTML yang terlihat bagus dengan snip-it yang ditunjukkan pada Kode 1.
(Kode 1)
Kode 1 berubah menjadi halaman HTML javadoc yang dihasilkan pada Gambar 1, seperti yang diharapkan.
(Gbr. 1)
Namun, di NetBeans 7.2, jika Anda menekan Alt + Shift + F (untuk memformat ulang file saat ini), Kode 1 berubah menjadi Kode 2.
(Kode 2)
di mana yang pertama
<pre>
sekarang dibagi menjadi dua baris. Kode 2 menghasilkan file HTML javadoc yang dihasilkan seperti yang ditunjukkan pada Gambar 2.(Gbr 2)
Saran Steve B (Kode 3) tampaknya memberikan hasil terbaik dan tetap diformat seperti yang diharapkan bahkan setelah menekan Alt + Shift + F.
(Kode 3)
Penggunaan Kode 3 menghasilkan output HTML javadoc yang sama seperti yang ditunjukkan pada Gambar 1.
sumber
Ini dua sen saya.
Karena jawaban lain sudah menyatakan, Anda harus menggunakannya
<pre>
</pre>
bersamaan{@code
}
.Gunakan
pre
dan{@code}
<pre>
dan</pre>
mencegah kode Anda runtuh ke satu baris;{@code
}
mencegah<
,>
dan segala sesuatu di antaranya menghilang. Ini sangat berguna ketika kode Anda mengandung ekspresi generik atau lambda.Masalah dengan anotasi
Masalah dapat muncul ketika blok kode Anda berisi anotasi. Itu mungkin karena ketika
@
tanda muncul di awal baris Javadoc, itu dianggap sebagai tag Javadoc seperti@param
atau@return
. Misalnya, kode ini dapat diuraikan secara salah:Kode di atas akan hilang sepenuhnya dalam kasus saya.
Untuk memperbaiki ini, garis tidak boleh dimulai dengan
@
tanda:Perhatikan bahwa ada dua ruang di antara
@code
dan@Override
, untuk menjaga hal-hal sejalan dengan baris berikutnya. Dalam kasus saya (menggunakan Apache Netbeans) itu ditampilkan dengan benar.sumber
Ada perbedaan yang signifikan antara
<blockquote><pre>...
dan yang<pre>{@code....
pertama akan menghilangkan deklarasi tipe dalam generik tetapi yang terakhir akan menyimpannya.E.g.: List<MyClass> myObject = null;
ditampilkan sepertiList myObject = null;
dengan pertama danList<MyClass> myObject = null;
keduasumber
Jika Anda adalah pengembang Android, Anda dapat menggunakan:
Untuk mencetak kode Anda dengan cantik di Javadoc dengan kode Java.
sumber
Coba ganti "kode" dengan "pra". Tag pra dalam HTML menandai teks sebagai sudah diformat dan semua baris baris dan spasi akan muncul tepat saat Anda mengetiknya.
sumber
Saya baru saja membaca referensi Javadoc 1.5 di sini , dan hanya kodenya dengan
<
dan>
harus dilampirkan di dalamnya{@code ...}
. Berikut contoh sederhana:sumber
Saya menyertakan kode contoh saya dengan
<pre class="brush: java"></pre>
tag dan menggunakan SyntaxHighlighter untuk javadocs yang diterbitkan. Tidak ada salahnya IDE dan membuat contoh kode yang diterbitkan indah.sumber
Menggunakan Java SE 1.6, sepertinya semua pengidentifikasi PRE UPPERCASE adalah cara terbaik untuk melakukan ini di Javadoc:
adalah cara paling sederhana untuk melakukan ini.
Contoh dari javadoc yang saya dapatkan dari metode java.awt.Event:
Ini menghasilkan output yang terlihat persis seperti kode biasa, dengan jarak kode reguler dan baris baru utuh.
sumber
Dalam Visual Studio Code setidaknya, Anda dapat memaksa komentar Javadoc untuk menghormati jeda baris dengan membungkusnya dalam triple-backticks, seperti yang terlihat di bawah ini:
sumber