Solusi terbaik, tentu saja, tidak hanya membuat sarang komentar Anda. Komentar bersarang biasanya merupakan tanda bahwa Anda menggunakan komentar yang salah. Contoh paling umum adalah kode commented-out yang berisi komentar itu sendiri, dan perbaikannya adalah menghapus kode alih-alih berkomentar.
Yang mengatakan, banyak bahasa pemrograman memiliki lebih dari satu jenis sintaks komentar, dan Anda dapat menggunakan fakta ini untuk bersarang setidaknya satu tingkat dalam. Misalnya, di Jawa:
/* This is commented out!
Foo.bar.baz();
// And now for something completely different...
Quux.runWith(theMoney);
*/
Selain itu, dalam banyak bahasa, setidaknya satu jenis komentar cukup baik; dalam bahasa mirip-C, komentar baris di dalam komentar baris diabaikan:
// some_commented_out(code);
// // This is a comment inside the comment!
// // Still inside the nested comment.
// some_more_code_in(outer_comment);
Sebagian besar IDE mendukung mengomentari seluruh blok kode dengan komentar baris dalam satu tindakan, dan mereka menangani gaya komentar seperti ini dengan benar. Contoh yang sama dengan Python:
# some_commented_out(code)
# # This is a comment inside the comment!
# # Still inside the nested comment.
# some_more_code_in(outer_comment)
Seringkali, standar pengkodean untuk proyek tertentu memiliki aturan tentang gaya komentar mana yang digunakan saat; konvensi umum adalah dengan menggunakan komentar blok ( /* */
) untuk metode dan dokumentasi kelas, dan komentar sebaris ( //
) untuk komentar di dalam tubuh metode dan semacamnya, misalnya:
/**
* Helper class to store Foo objects inside a bar.
*/
public class Foobar {
/**
* Stores a Foo in this Foobar's bar, unless the bar already contains
* an equivalent Foo.
* Returns the number of Foos added (always 0 or 1).
*/
public int storeFoo(Foo foo) {
// Don't add a foo we already have!
if (this.bar.contains(foo)) {
return 0;
}
// OK, we don't have this foo yet, so we'll add it.
this.bar.append(foo);
return 1;
}
}
Dengan gaya seperti itu, kecil kemungkinan Anda perlu menyarang /* */
komentar (jika Anda harus menonaktifkan sementara seluruh metode atau kelas, mengubah nama mereka berfungsi dengan baik, jika tidak lebih baik); dan //
komentar lakukan sarang, setidaknya dengan sedikit bantuan dari IDE Anda.
Akhirnya, untuk menonaktifkan kode, Anda memiliki opsi lain dalam banyak bahasa pemrograman; misalnya, dalam C, Anda dapat memanfaatkan preprosesor:
this_is(activated);
#if 0
this_is(!activated);
/* Comments inside this block don't really nest, they are simply removed
along with the rest of the block! */
#endif
Dalam bahasa yang dinamis, Anda seringkali dapat menggunakan if
pernyataan reguler sebagai gantinya:
<?php
if (0) {
// This should never run...
some_stuff_that_should_never_run();
}
Namun, tidak seperti contoh CPP, strategi ini membutuhkan file sumber secara keseluruhan valid secara sintaksis, sehingga sejauh ini tidak fleksibel.
Dan akhirnya, setidaknya ada beberapa bahasa yang memungkinkan untuk komentar bersarang. Jika Anda tertarik, wikipedia memiliki bagan perbandingan yang bagus .