ความคิดเห็น Java: เหตุใดจึงมีความสำคัญ
ว่ากันว่าโปรแกรมเมอร์ขี้เกียจมากเมื่อต้องแสดงความคิดเห็นเกี่ยวกับโค้ดของตนเอง อย่างไรก็ตาม นี่เป็นทักษะที่สำคัญมาก ดังนั้นอย่าประมาทมัน แม้ว่าคุณจะเพิ่งเริ่มเรียนรู้ Java ก็ตาม โค้ดที่มีความคิดเห็นดีมีค่ามากกว่าโค้ดที่ไม่มีความคิดเห็น เนื่องจากโปรแกรมดังกล่าวดูแลรักษาได้ง่ายกว่ามาก เนื่องจากโปรเจ็กต์ขนาดใหญ่ส่วนใหญ่มักเขียนด้วยภาษา Java การแสดงความคิดเห็นอย่างเชี่ยวชาญยังช่วยเร่งการพัฒนาด้วย เนื่องจากโปรแกรมเมอร์จะจัดการกับโค้ดของผู้อื่นได้ง่ายกว่า จำเป็นต้องมีความคิดเห็นเพื่อ:-
เข้าใจโค้ด. ของคุณหรือของคนอื่น หากคุณรู้สึกว่าคุณไม่จำเป็นต้องถอดรหัสโค้ดของคุณเองเพราะคุณเขียนมันขึ้นมา ให้ลองเปิดโปรแกรมที่ค่อนข้างซับซ้อนที่คุณเขียนเมื่อเดือนที่แล้วหรือเร็วกว่านั้น และทำความเข้าใจอย่างรวดเร็วว่าคุณนึกถึงอะไร ที่ไหน และทำไม ความคิดเห็นสามารถใช้เพื่ออธิบายตรรกะของโปรแกรมหรือบล็อกของโปรแกรม รวมทั้งให้คำแนะนำสำหรับผู้ที่จะทำงานกับโค้ดของคุณในภายหลัง ความคิดเห็นประเภทนี้เรียกได้ว่าเป็นการอธิบาย
-
ประกอบด้วยข้อมูลเกี่ยวกับวัตถุประสงค์ของออบเจ็กต์ พารามิเตอร์อินพุตและเอาต์พุต (ถ้ามี) ข้อมูลเกี่ยวกับนักพัฒนา และสิ่งสำคัญอื่นๆ ที่เกี่ยวข้องกับส่วนของโค้ด ความคิดเห็นดังกล่าวอยู่ในส่วนหัวของโมดูล ไลบรารี ขั้นตอน และฟังก์ชัน พวกเขาสามารถเรียกว่าความคิดเห็นเอกสาร
-
ควบคุมข้อบกพร่องและปรับปรุงโค้ด รหัสที่น่าสงสัยหรือรหัสที่ต้องปรับปรุงสามารถแสดงความคิดเห็นและกลับมาดูใหม่ได้ในภายหลัง หากเกิดขึ้นกับคุณว่าปัญหาบางอย่างสามารถแก้ไขได้ด้วยวิธีอื่น แต่ตอนนี้คุณไม่มีเวลาให้เขียนแนวคิดนี้ในความคิดเห็น มิฉะนั้นเป็นไปได้มากว่าภายใต้แรงกดดันของโค้ดใหม่คุณจะลืมมันไป
ประเภทของความคิดเห็นใน Java
แม้ว่าคุณจะสามารถเขียนอะไรก็ได้ทุกอย่างในความคิดเห็น แต่ก็มีความคิดเห็นบางประเภทใน Java และกฎเกณฑ์ในการใช้งาน ในความคิดเห็น Java cold be:- ความคิดเห็นบรรทัดเดียว
- ความคิดเห็นหลายบรรทัด
- ความคิดเห็นเกี่ยวกับเอกสาร
ความคิดเห็นบรรทัดเดียว
ความคิดเห็น Java ที่พบบ่อยที่สุดคือความคิดเห็นบรรทัดเดียว หากต้องการระบุความคิดเห็นดังกล่าว ก็เพียงพอที่จะใส่เครื่องหมายทับสองครั้งก่อนข้อความ// . ความคิดเห็นบรรทัดเดียวจะถูกตั้งค่าสถานะเฉพาะที่จุดเริ่มต้นของความคิดเห็นเท่านั้น ความเห็นยังคงต่อท้ายบรรทัด ไวยากรณ์://here is a single line comment.
ลองมาดูตัวอย่างความคิดเห็น Java ประเภทนี้:
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
}
}
ผลลัพธ์คือ:
ความคิดเห็นหลายบรรทัด
บางครั้งมีหนึ่งบรรทัดไม่เพียงพอที่จะเขียนความคิดเห็น Java ตัวอย่างเช่น คุณต้องอธิบายวิธีการทำงานของวิธีการหรือสูตรที่ซับซ้อนที่คุณกำลังนำไปใช้ ในกรณีนี้ คุณสามารถเขียนความคิดเห็นบรรทัดเดียวได้หลายรายการ แต่การเขียนที่เรียกว่าความคิดเห็นหลายบรรทัดจะมีเหตุผลมากกว่า มีสัญลักษณ์กำกับไว้ทั้งสองด้าน/* * / ไวยากรณ์ของความคิดเห็นหลายบรรทัด:/*This comment
is
Multi line comment
we can describe here
what we need */
มาดูตัวอย่างความคิดเห็นหลายบรรทัดในโค้ดกัน
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"));
}
}
ความคิดเห็นเกี่ยวกับเอกสาร Java
นี่เป็นความคิดเห็น Java ชนิดพิเศษที่ใช้เพื่อสร้างหน้าเอกสารประกอบ โดยปกติแล้วนักพัฒนาจะเขียนความคิดเห็นเกี่ยวกับเอกสารประกอบโดยใช้ Javadoc ซึ่งเป็นตัวสร้างเอกสารสำหรับสร้างเอกสาร API ในรูปแบบ HTML จากซอร์สโค้ด Java รูปแบบของเอกสารที่ใช้โดย Javadoc เป็นมาตรฐานอุตสาหกรรมสำหรับการทำเอกสารคลาส Java และ IDE ที่ได้รับความนิยมสูงสุด เช่น IntelliJ IDEA และ Eclipse จะสร้าง Javadoc HTML โดยอัตโนมัติ ความคิดเห็นเกี่ยวกับเอกสาร Java มีไวยากรณ์ด้านล่าง:/**
Some important Javadoc comments here
You don’t know it yet, but Javadoc rulez
@author Java Developer
*/
นี่คือตัวอย่าง: มันเป็นส่วนของคลาส Java Short อย่างไรก็ตาม คุณสามารถดูโค้ดคลาส Java ใดก็ได้จาก IDE ของคุณ (เช่น ใน IntelliJ IDEA จาก Windows เพียงกด ctrl+LBM หรือ ctrl + b (ใน Windows) บนชื่อคลาสหรือเมธอดใดก็ได้)
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")
นี่คือโค้ด Java ของเมธอด println() ที่มือใหม่ทุกคนรู้จักและชื่นชอบพร้อมความคิดเห็นดังกล่าว:
/**
* 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 มีแท็ก Javadoc พิเศษที่มีเครื่องหมาย @ คุณสามารถดูได้ในโค้ดด้านบน ตัวอย่างของแท็ก Javadoc คือ @author ที่เพิ่มชื่อของผู้เขียนคลาส แท็ก Javadoc อื่นคือ @เนื่องจากเพิ่มความคิดเห็นที่ระบุว่าคลาสนี้ถูกใช้ตั้งแต่เวอร์ชัน Java ที่ระบุ การเขียนเอกสาร Javadoc ที่ดีต้องอาศัยความรู้และประสบการณ์ (และความอดทน!) คุณสามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับ Javadoc ได้ ในเอกสารอย่างเป็นทางการวิธีเขียนความคิดเห็น Doc สำหรับเครื่องมือ Javadoc
ป.ล. ตัวอย่างคอมเมนต์ตลกๆ จากชีวิตจริง
/**
*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;
}
เพื่อเสริมสิ่งที่คุณเรียนรู้ เราขอแนะนำให้คุณชมบทเรียนวิดีโอจากหลักสูตร Java ของเรา