CodeGym /Blog Java /rawak /Komen Java
John Squirrels
Tahap
San Francisco

Komen Java

Diterbitkan dalam kumpulan
Komen ialah sebahagian daripada program yang tidak dilaksanakan. Pengkompil hanya mengabaikan komen kerana ia tidak dimaksudkan untuk itu. Ia ditulis dalam bahasa "manusia" dan bertujuan untuk menerangkan program, sebahagian daripada program, satu baris atau kaedah untuk pembangun atau orang yang terlibat dalam pembangunan. Selalunya, komen ditulis dalam bahasa Inggeris, ia adalah satu tradisi. Dalam artikel ini, kita akan bercakap tentang ulasan dalam Java dan cara menggunakannya dengan betul untuk menjadikan kehidupan lebih mudah untuk anda dan rakan sepasukan anda.

Komen Java: mengapa ia penting

Mereka mengatakan pengaturcara sangat malas apabila mengulas tentang kod mereka sendiri. Walau bagaimanapun, ini adalah kemahiran yang sangat penting, jadi jangan memandang rendah, walaupun anda baru mula belajar Java. Kod yang diulas dengan baik jauh lebih berharga daripada kod tanpa komen kerana program sedemikian lebih mudah untuk diselenggara. Memandangkan projek besar paling kerap ditulis dalam Java, ulasan yang cekap juga mempercepatkan pembangunan, kerana lebih mudah bagi pengaturcara menangani kod orang lain. Komen diperlukan untuk:
  • Fahami kod. Anda atau orang lain. Jika anda nampaknya anda tidak perlu mentafsir kod anda sendiri kerana anda menulisnya, cuba buka program yang agak rumit yang anda tulis sebulan yang lalu atau lebih awal dan fahami dengan cepat apa, di mana dan mengapa anda ada dalam fikiran. Komen boleh digunakan untuk menerangkan logik program atau blok program, serta meninggalkan cadangan untuk mereka yang akan bekerja dengan kod anda nanti. Komen jenis ini boleh dipanggil penjelasan.

  • Mengandungi maklumat tentang tujuan objek, parameter input dan output (jika ada), data tentang pembangun, dan perkara penting lain yang berkaitan dengan serpihan kod. Komen sedemikian terletak dalam pengepala modul, perpustakaan, prosedur dan fungsi. Mereka boleh dipanggil komen dokumentasi.

  • Kawal pepijat dan perbaiki kod. Kod atau kod yang boleh dipersoalkan yang memerlukan penambahbaikan sentiasa boleh diulas dan dilawati semula kemudian. Jika terfikir bahawa masalah tertentu boleh diselesaikan dengan cara yang berbeza, tetapi sekarang anda tidak mempunyai masa untuk itu, tulis idea ini dalam ulasan. Jika tidak, kemungkinan besar, di bawah tekanan kod baharu, anda akan melupakannya.

Jenis komen dalam Java

Walaupun fakta bahawa anda boleh menulis apa sahaja dan segala-galanya dalam ulasan, terdapat jenis komen tertentu dalam Java dan peraturan untuk menggunakannya. Dalam komen Java sejuk menjadi:
  • Komen satu baris
  • Komen berbilang baris
  • Komen dokumentasi

Komen satu baris

Komen Java yang paling biasa ialah komen satu baris. Untuk menunjukkan komen sedemikian, cukup untuk meletakkan garis miring berganda sebelum teks // . Komen baris tunggal dibenderakan hanya pada permulaan ulasan. Komen diteruskan hingga ke hujung talian. Sintaks:
//here is a single line comment.
Mari kita ambil contoh ulasan Java jenis ini:
public class CommentsDemo1 {
   public static void main(String[] args) {
       System.out.println("This text is visible for Java compiler");
       //this text is single line comment
//This one is also single line comment
//they both (and me) are invisible for compiler
   }
}
Outputnya ialah:
Teks ini kelihatan untuk pengkompil Java
Biasanya komen satu baris terletak di atas atau di bawah tempat yang diulas dalam program, kadangkala pada baris yang sama. Adalah penting bahawa ulasan itu jelas secara visual.

Komen berbilang baris

Kadangkala tidak cukup satu baris untuk menulis ulasan Java. Sebagai contoh, anda perlu menerangkan cara kaedah berfungsi atau formula kompleks yang anda laksanakan. Dalam kes ini, anda boleh menulis beberapa ulasan satu baris, tetapi adalah lebih rasional untuk menulis apa yang dipanggil komen berbilang baris. Mereka ditandakan pada kedua-dua belah dengan simbol /* */ . Sintaks komen berbilang baris:
/*This comment
is
Multi line comment
we can describe here
what we need */
Mari kita dapatkan contoh komen berbilang baris dalam kod
public class RleTest {

   /*
   Run Length Encoding (RLE),  a data compression algorithm
   that replaces repeated characters (series)
   with one character and the number of its repetitions.

   this method is to decode a String using run-length encoding

    */
   private static String decodeRle(String encoded) {
       if (encoded.isBlank()) return "";
       StringBuilder result = new StringBuilder();
       int count = 0;
       char baseChar = encoded.charAt(0);
       for (int i = 1; i <= encoded.length(); i++) {
           char c = i == encoded.length() ? '$' : encoded.charAt(i);
           if (Character.isDigit(c)) {
               count = count * 10 + Character.digit(c, 10);
           } else {
               do {
                   result.append(baseChar);
                   count--;
               } while (count > 0);
               count = 0;
               baseChar = c;
           }
       }
       return result.toString();
   }
   public static void main(String[] args) {
       System.out.println(decodeRle("C3ecddf8"));
   }
}

Komen Dokumentasi Java

Ini ialah jenis ulasan Java khas yang digunakan untuk menjana halaman dokumentasi. Biasanya pembangun menulis komen dokumentasi menggunakan Javadoc, penjana dokumentasi untuk menjana dokumentasi API dalam format HTML daripada kod sumber Java. Format dokumen yang digunakan oleh Javadoc ialah piawaian industri untuk mendokumentasikan kelas Java dan IDE paling popular seperti IntelliJ IDEA dan Eclipse, menjana HTML Javadoc secara automatik. Komen dokumentasi Java mempunyai sintaks di bawah:
/**
Some important Javadoc comments here
You don’t know it yet, but Javadoc rulez

@author  Java Developer
*/
Berikut ialah contoh: ia adalah serpihan kelas Java Short . Dengan cara ini, anda boleh melihat mana-mana kod kelas Java daripada IDE anda (contohnya dalam IntelliJ IDEA daripada Windows hanya tekan ctrl+LBM atau ctrl + b (dalam Windows) pada mana-mana nama kelas atau kaedah).
package java.lang;

import jdk.internal.HotSpotIntrinsicCandidate;
import jdk.internal.misc.VM;

/**
* The {@code Short} class wraps a value of primitive type {@code
* short} in an object.  An object of type {@code Short} contains a
* single field whose type is {@code short}.
*
* <p>In addition, this class provides several methods for converting
* a {@code short} to a {@code String} and a {@code String} to a
* {@code short}, as well as other constants and methods useful when
* dealing with a {@code short}.
*
* @author  Nakul Saraiya
* @author  Joseph D. Darcy
* @see     java.lang.Number
* @since   1.1
*/
public final class Short extends Number implements Comparable<Short> {

   /**
    * A constant holding the minimum value a {@code short} can
    * have, -2<sup>15</sup>.
    */
   public static final short   MIN_VALUE = -32768;

   /**
    * A constant holding the maximum value a {@code short} can
    * have, 2<sup>15</sup>-1.
    */
   public static final short   MAX_VALUE = 32767;

   /**
    * The {@code Class} instance representing the primitive type
    * {@code short}.
    */
   @SuppressWarnings("unchecked")
Berikut ialah kod Java kaedah yang terkenal dan disukai oleh semua pemula println() kaedah dengan komen sedemikian:
/**
* Prints a String and then terminate the line.  This method behaves as
* though it invokes {@link #print(String)} and then
* {@link #println()}.
*
* @param x  The {@code String} to be printed.
*/
public void println(String x) {
   if (getClass() == PrintStream.class) {
       writeln(String.valueOf(x));
   } else {
       synchronized (this) {
           print(x);
           newLine();
       }
   }
}
Javadoc mempunyai beberapa tag Javadoc khas yang ditandakan dengan @ anda boleh lihat dalam kod di atas. Contoh teg Javadoc sedemikian ialah @author yang menambah nama pengarang kelas. Satu lagi teg Javadoc ialah @kerana ia menambahkan ulasan yang menunjukkan bahawa kelas ini digunakan sejak versi Java yang ditentukan. Menulis dokumen Javadoc yang baik memerlukan pengetahuan dan pengalaman (dan kesabaran!). Anda boleh mendapatkan maklumat lanjut tentang Javadoc dalam dokumentasi rasmi Cara Menulis Komen Dokumen untuk Alat Javadoc .

PS beberapa contoh komen lucu dari kehidupan sebenar

/**
*Dear Maintainer
*
*Once you are done trying to 'optimize' this routine,
*and you have realized what a terrible mistake that was,
*please increment the following counter as a warning
*to the next guy.
*
*total_hours_wasted_here = 73
*/
Exception up = new Exception("Something is really wrong.");
throw up;  //ha ha
// When I wrote this, only God and I understood what I was doing
// Now, God only knows
// sometimes I believe compiler ignores all my comments
/**
Always returns true.
*/
public boolean isAvailable() {
return false;
}
Untuk mengukuhkan perkara yang anda pelajari, kami cadangkan anda menonton pelajaran video daripada Kursus Java kami
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION