การทำให้ if-conditions
ง่ายขึ้น: กลยุทธ์ที่มีประสิทธิภาพในการเพิ่มความอ่านง่ายของโค้ด
การจัดการกับ if-conditions
ในการโปรแกรมมิ่งบางครั้งอาจรู้สึกท่วมท้น โดยเฉพาะเมื่อคุณต้องเจอกับการตรวจสอบหลายประการที่ทำให้โค้ดของคุณยุ่งเหยิง ซึ่งทำให้มันอ่านและดูแลรักษาได้ยาก ถ้าคุณพบว่าตัวเองต่อสู้กับเงื่อนไขที่ยาวและซับซ้อน คุณไม่ได้อยู่คนเดียว บล็อกโพสต์นี้มุ่งหวังที่จะจัดการกับปัญหานี้โดยตรง ให้กลยุทธ์ที่มีประสิทธิภาพในการทำให้ if-statements
ของคุณง่ายขึ้นเพื่อความชัดเจนที่ดีกว่าและลดความซับซ้อน
ปัญหาของ if-conditions
ที่ใหญ่เกินไป
if-statements
ที่ใหญ่และยุ่งเหยิงไม่เพียงแต่ทำให้โค้ดซับซ้อน แต่ยังอาจนำไปสู่ข้อผิดพลาดและความปวดหัวในการบำรุงรักษา ตัวอย่างเช่น พิจารณาตัวอย่างต่อไปนี้ที่แสดงทั้ง if-conditions
แบบบรรทัดเดียวและหลายบรรทัด:
ตัวอย่าง 1: if-condition
แบบบรรทัดเดียว
if (var1 = true && var2 = true && var3 = true && var4 = true && var5 = true && var6 = true)
{
// โค้ดที่นี่
}
รูปแบบนี้อ่านยากในครั้งเดียวและอาจมีแนวโน้มเกิดข้อผิดพลาด
ตัวอย่าง 2: if-condition
แบบหลายบรรทัด
if (var1 = true && var2 = true && var3 = true
&& var4 = true && var5 = true && var6 = true)
{
// โค้ดที่นี่
}
แม้ว่าจะดีขึ้นเล็กน้อยสำหรับความอ่านง่าย แต่แนวทางนี้ก็ยังรู้สึกยุ่งเหยิงเนื่องจากการตรวจสอบที่เชื่อมโยงกันหลายประการ
ตัวอย่าง 3: if-condition
ซ้อนกัน
if (var1 = true && var2 = true && var3 = true)
{
if (var4 = true && var5 = true && var6 = true)
{
// โค้ดที่นี่
}
}
ในขณะที่การซ้อนอาจช่วยจัดระเบียบการตรวจสอบ แต่ทำให้ตรรกะซับซ้อนมากขึ้นและทำให้ผู้พัฒนาคนอนาคต (หรือแม้แต่คุณเอง) เข้าใจเงื่อนไขที่เกิดขึ้นได้ยากยิ่งขึ้น
ทางออกที่มีประสิทธิภาพในการทำให้ if-conditions
ง่ายขึ้น
เพื่อแก้ไขปัญหาของ if-conditions
ที่มากเกินไป เราสามารถใช้กลยุทธ์การเขียนโค้ดบางอย่างที่ช่วยเพิ่มความชัดเจนและทำให้การบำรุงรักษาโค้ดเป็นเรื่องง่ายขึ้น ที่นี่ เราจะสำรวจแนวทางที่มีประโยชน์สองแบบ: การใช้ตัวแปร Boolean และ การสร้าง Properties
1. ใช้ตัวแปร Boolean เพื่อความชัดเจน
แทนที่จะฝังเงื่อนไขทั้งหมดภายใน if-statement
ให้แยกตรรกะแต่ละชิ้นออกเป็นตัวแปร boolean ที่มีความหมาย วิธีการนี้ไม่เพียงแต่ช่วยเพิ่มความอ่านง่าย แต่ยังทำให้ตรรกะที่สามารถนำกลับมาใช้ได้ตลอดทั้งโค้ดของคุณ หากจำเป็น
ตัวอย่างโค้ดที่ถูกปรับปรุง
bool isOpaque = object.Alpha == 1.0f;
bool isDrawable = object.CanDraw && object.Layer == currentLayer;
bool isHidden = hideList.Find(object);
bool isVisible = isOpaque && isDrawable && !isHidden;
if (isVisible)
{
// โค้ดที่นี่
}
ในโค้ดที่ตรวจสอบใหม่แต่ละ boolean แสดงเงื่อนไขที่ชัดเจน ทำให้เข้าใจตรรกะได้ง่ายขึ้นมากสำหรับใครก็ได้ รวมถึงตัวคุณเองในอนาคตด้วย
2. ใช้ Properties สำหรับ if-conditions
อีกทางเลือกที่ดีคือการนำ Properties มาใช้ในคลาสของคุณที่ encapsulate การตรวจสอบ boolean วิธีนี้ไม่เพียงจะช่วยให้เงื่อนไขของคุณอยู่ในระเบียบ แต่ยังรวมตรรกะที่เกี่ยวข้องกับการตรวจสอบการมองเห็นไว้ในที่เดียว
ตัวอย่างด้วย Property
public bool IsVisible {
get {
bool isOpaque = object.Alpha == 1.0f;
bool isDrawable = object.CanDraw && object.Layer == currentLayer;
bool isHidden = hideList.Find(object);
return isOpaque && isDrawable && !isHidden;
}
}
void Draw()
{
if(IsVisible)
{
// โค้ดที่นี่
}
}
ด้วยการใช้งานนี้ คุณสามารถเรียกใช้ IsVisible
ได้จากทุกที่ในโค้ดของคุณ และการตรวจสอบตรรกะทั้งหมดสำหรับการมองเห็นจะถูก encapsulated ในที่เดียว วิธีการแบบโมดูลนี้ทำให้การปรับเปลี่ยนในอนาคตเป็นเรื่องง่ายขึ้นโดยไม่ต้องไปตรวจสอบหลายจุดในฐานโค้ดของคุณ
ความสำคัญของการตั้งชื่อตัวแปร
เมื่อมีการประกาศตัวแปร boolean ของคุณ ให้แน่ใจว่าชื่อของมันสื่อถึงเจตนาของมันอย่างชัดเจน แทนที่จะเป็นฟังก์ชันของมัน การปฏิบัตินี้จะช่วยในการบำรุงรักษาฐานโค้ดของคุณอย่างมาก ทำให้คนอื่น (หรือคุณในวันที่ต่อมา) เข้าใจวัตถุประสงค์ของเงื่อนไขแต่ละอย่างได้ง่ายขึ้น
เคล็ดลับในการประกาศตัวแปร
- ใช้ชื่อที่มีความหมาย: แทนที่จะใช้
var1
ให้ใช้isOpaque
หรือisDrawable
. - รักษาความสม่ำเสมอ: ปฏิบัติตามรูปแบบการตั้งชื่อที่นักพัฒนาคนอื่นสามารถเข้าใจได้อย่างรวดเร็ว.
- รวมกลุ่มตัวแปรที่คล้ายกัน: สามารถทำได้เมื่อเป็นไปได้ เพื่อให้โค้ดมีความเกี่ยวข้องและเป็นระเบียบ.
สรุป
การจัดการกับ if-conditions
ที่ซับซ้อนไม่จำเป็นต้องเป็นจุดปวดหัวในเส้นทางการเขียนโค้ดของคุณ โดยการใช้การแยกตรรกะอย่างชัดเจนผ่านการใช้ตัวแปร boolean หรือ properties พร้อมกับการตั้งชื่อที่ดี คุณจะไม่เพียงแต่เพิ่มความอ่านง่ายของโค้ด แต่ยังเปิดทางให้การบำรุงรักษาทำได้ง่ายขึ้นและข้อผิดพลาดน้อยลงในอนาคต
วิธีการที่ง่ายแต่มากประสิทธิภาพนี้ในการทำให้ if-conditions
ง่ายขึ้นจะเป็นการเปลี่ยนเกมในเครื่องมือการเขียนโปรแกรมของคุณ ทำให้แน่ใจว่าโค้ดของคุณยังคงสะอาด เข้าใจง่าย และสามารถจัดการได้