แบบฝึกหัด - ใช้ช่องว่างเพื่อทําให้โค้ดของคุณอ่านง่ายขึ้น

เสร็จสมบูรณ์เมื่อ

ผู้ออกแบบการพิมพ์และเว็บเข้าใจว่าการใส่ข้อมูลมากเกินไปในพื้นที่ขนาดเล็กครอบงําผู้ชม ดังนั้น พวกเขาจึงใช้ช่องว่างหรือพื้นที่ว่างเชิงลบในเชิงกลยุทธ์เพื่อแบ่งข้อมูลเพื่อเพิ่มความสามารถของผู้ชมในการใช้ข้อความหลักของงานของพวกเขา

นักพัฒนาสามารถใช้กลยุทธ์ที่คล้ายกันเมื่อเขียนโค้ดในตัวแก้ไข ด้วยการใช้พื้นที่สีขาวเพื่อสื่อความหมาย นักพัฒนาซอฟต์แวร์สามารถเพิ่มความชัดเจนของเจตนาของโค้ด

ช่องว่างคืออะไร

คําว่า "ช่องว่าง" หมายถึงช่องว่างแต่ละรายการที่สร้างขึ้นโดย space barแท็บ ซึ่งสร้างขึ้นโดย tab คีย์ และบรรทัดใหม่ที่สร้างขึ้นโดย enter คีย์

คอมไพเลอร์ C# จะละเว้นช่องว่าง เมื่อต้องการทําความเข้าใจวิธีการละเว้นช่องว่าง และวิธีการเพิ่มความชัดเจนโดยใช้ช่องว่าง ให้ทํางานผ่านแบบฝึกหัดต่อไปนี้

เพิ่มรหัสเพื่อแสดงวิธีการละเว้นพื้นที่ว่างโดยคอมไพเลอร์ C#

  1. ตรวจสอบให้แน่ใจว่า คุณมีไฟล์ Program.cs ที่ว่างเปล่าเปิดอยู่ในรหัส Visual Studio

    หากจําเป็น ให้เปิด Visual Studio Code แล้วทําตามขั้นตอนต่อไปนี้เพื่อเตรียมไฟล์ Program.cs ในตัวแก้ไข:

    1. บนเมนู ไฟล์ เลือก เปิดโฟลเดอร์

    2. ใช้กล่องโต้ตอบ เปิดโฟลเดอร์ เพื่อนําทางไปยัง และจากนั้นเปิดโฟลเดอร์ CsharpProjects

    3. ในมุมมอง Visual Studio Code EXPLORER ให้เลือก Program.cs

    4. บนเมนู การเลือก รหัส Visual Studio เลือก เลือกทั้งหมด แล้วกดปุ่มลบ

  2. ป้อนโค้ดต่อไปนี้:

    // Example 1:
    Console
    .
    WriteLine
    (
    "Hello Example 1!"
    )
    ;
    
    // Example 2:
    string firstWord="Hello";string lastWord="Example 2";Console.WriteLine(firstWord+" "+lastWord+"!");
    
  3. บนเมนู ไฟล์ของ Visual Studio Code เลือก บันทึก

  4. ในมุมมอง EXPLORER เมื่อต้องการเปิดเทอร์มินัลที่ตําแหน่งที่ตั้งโฟลเดอร์ TestProject ของคุณ ให้คลิกขวาที่ TestProject จากนั้นเลือกเปิดในเทอร์มินัลรวม

  5. ที่พร้อมท์คําสั่งเทอร์มินัล ให้พิมพ์ dotnet run แล้วกด Enter

    คุณควรเห็นผลลัพธ์ต่อไปนี้:

    Hello Example 1!
    Hello Example 2!
    
  6. ใช้เวลาสักครู่เพื่อพิจารณาว่าผลลัพธ์นี้บอกให้คุณทราบเกี่ยวกับวิธีที่คุณควรใช้ช่องว่างในโค้ดของคุณ

    ตัวอย่างโค้ดสองตัวอย่างนี้แสดงแนวคิดที่สําคัญสองแนวคิด:

    • Whitespace ไม่สําคัญกับคอมไพเลอร์ อย่างไรก็ตาม
    • ช่องว่างเมื่อใช้งานอย่างถูกต้องสามารถเพิ่มความสามารถในการอ่านและเข้าใจโค้ดได้

    คุณอาจเขียนโค้ดของคุณครั้งเดียว แต่จําเป็นต้องอ่านรหัสหลายครั้ง ดังนั้น คุณควรมุ่งเน้นไปที่ความสามารถในการอ่านของโค้ดที่คุณเขียน เมื่อเวลาผ่านไป คุณจะได้รับความรู้สึกว่าเมื่อไรและวิธีใช้ช่องว่าง เช่น อักขระช่องว่าง แท็บ และบรรทัดใหม่

    คําแนะนําเบื้องต้น:

    • แต่ละคําสั่งที่เสร็จสมบูรณ์ ( คําสั่ง) เป็นของแต่ละบรรทัด
    • หากบรรทัดของรหัสเดียวยาวขึ้น คุณสามารถแบ่งได้ อย่างไรก็ตาม คุณควรหลีกเลี่ยงการแยกคําสั่งเดี่ยวเป็นหลายบรรทัดโดยพลการจนกว่าคุณจะมีเหตุผลที่ดีในการทําเช่นนั้น
    • ใช้ช่องว่างทางด้านซ้ายและขวาของตัวดําเนินการการกําหนด
  7. แทนที่โค้ดที่มีอยู่ของคุณด้วยโค้ดต่อไปนี้:

    Random dice = new Random();
    int roll1 = dice.Next(1, 7);
    int roll2 = dice.Next(1, 7);
    int roll3 = dice.Next(1, 7);
    int total = roll1 + roll2 + roll3;
    Console.WriteLine($"Dice roll: {roll1} + {roll2} + {roll3} = {total}");
    if ((roll1 == roll2) || (roll2 == roll3) || (roll1 == roll3)) {
        if ((roll1 == roll2) && (roll2 == roll3)) {
            Console.WriteLine("You rolled triples!  +6 bonus to total!");
            total += 6; 
        } else {
            Console.WriteLine("You rolled doubles!  +2 bonus to total!");
            total += 2;
        }
    }
    

    โปรดสังเกตว่าโค้ดนี้ไม่มีช่องว่างมาก รหัสนี้จะถูกใช้เพื่อแสดงวิธีการสําหรับการเพิ่มช่องว่างให้กับแอปพลิเคชันของคุณ ช่องว่างที่มีประสิทธิภาพควรทําให้เข้าใจได้ง่ายขึ้นว่าโค้ดของคุณกําลังทําอะไรอยู่

    หมายเหตุ

    รหัสใช้ Random คลาสเพื่อช่วยพัฒนาเกมลูกเต๋าจําลองซึ่งค่ารวมจากสามม้วนถูกใช้เพื่อประเมินคะแนน "ชนะ" รางวัลรหัสคะแนนพิเศษสําหรับหมุนสองเท่าหรือสามเท่า คุณไม่จําเป็นต้องเข้าใจรหัสนี้ทั้งหมดเพื่อดูประโยชน์ของการรวมช่องว่าง

  8. ใช้เวลาสักครู่เพื่อพิจารณาว่าคุณจะใช้ช่องว่างเพื่อปรับปรุงความสามารถในการอ่านโค้ดนี้อย่างไร

    มีสองคุณลักษณะของโค้ดนี้ในการจดบันทึกย่อ:

    • ไม่มีช่องว่างแนวตั้งในตัวอย่างรหัสนี้ กล่าวอีกนัยหนึ่งคือ ไม่มีบรรทัดที่ว่างเปล่าในการแบ่งบรรทัดของรหัส ทุกอย่างทํางานร่วมกันเป็นรายการรหัสหนาแน่นเพียงรายการเดียว
    • บล็อกรหัสตามที่กําหนดโดยการเปิดและปิดสัญลักษณ์ { } วงเล็บปีกกาจะถูกบีบอัดเข้าด้วยกัน ทําให้ขอบเขตยากที่จะมองเห็นได้

    โดยทั่วไปแล้ว เพื่อปรับปรุงความสามารถในการอ่าน คุณจะแนะนําบรรทัดว่างระหว่างโค้ดสอง, สาม หรือสี่บรรทัดที่ดําเนินการคล้ายกันหรือที่เกี่ยวข้องกัน

    การใช้รหัสของคุณโดยใช้ช่องว่างแนวตั้งเป็นแบบอัตนัย นักพัฒนาซอฟต์แวร์สองรายอาจไม่เห็นด้วยกับสิ่งที่อ่านได้มากที่สุด หรือเมื่อใดที่ควรเพิ่มช่องว่าง ใช้คําตัดสินที่ดีที่สุดของคุณ

  9. หากต้องการเพิ่มช่องว่างแนวตั้งที่ปรับปรุงความสามารถในการอ่าน ให้อัปเดตโค้ดของคุณดังต่อไปนี้:

    Random dice = new Random();
    
    int roll1 = dice.Next(1, 7);
    int roll2 = dice.Next(1, 7);
    int roll3 = dice.Next(1, 7);
    
    int total = roll1 + roll2 + roll3;
    Console.WriteLine($"Dice roll: {roll1} + {roll2} + {roll3} = {total}");
    
    if ((roll1 == roll2) || (roll2 == roll3) || (roll1 == roll3)) {
        if ((roll1 == roll2) && (roll2 == roll3)) {
            Console.WriteLine("You rolled triples!  +6 bonus to total!");
            total += 6; 
        } else {
            Console.WriteLine("You rolled doubles!  +2 bonus to total!");
            total += 2;
        }
    }
    

    บรรทัดแรกของช่องว่างของคุณถูกใช้เพื่อแยกการประกาศของ dice ตัวแปรจากบรรทัดรหัสที่ใช้ในการกําหนดค่าให้กับตัวแปรม้วนของคุณ การแยกนี้ทําให้ง่ายต่อการดูวิธีใช้ dice ในโค้ดของคุณ

    ช่องว่างบรรทัดถัดไปของคุณแยกการประกาศตัวแปรม้วนของคุณออกจากการประกาศของtotal การจัดกลุ่มตัวแปรม้วนทั้งสามของคุณจะมีประโยชน์สองวิธี ก่อนอื่น จะสร้างกลุ่มของบรรทัดรหัสที่มีตัวแปรที่เกี่ยวข้อง ประการที่สอง ชื่อตัวแปรจะคล้ายกันมากและการประกาศเป็นไปตามรูปแบบเดียวกัน ดังนั้นการจัดกลุ่มสิ่งเหล่านั้นเข้าด้วยกันจะดึงตาของคุณไปยังความคล้ายคลึงกันและช่วยในการเปิดเผยความแตกต่าง

    ในตอนท้าย บรรทัดที่สามของช่องว่างจะแยกกลุ่มคําสั่งที่เกี่ยวข้องอื่นออกจากคําสั่งที่ if ซ้อนกันของคุณ กลุ่มของคําสั่งที่รวมถึงการ total ประกาศและ Console.WriteLine() วิธีการ เกี่ยวข้องกับวัตถุประสงค์แทนที่จะเป็นลักษณะที่ปรากฏ รหัสของคุณมุ่งเน้นไปที่ค่ารวมที่ทําได้โดยสามชิ้นและไม่ว่าม้วนจะรวมเป็นสองเท่าหรือสามเท่า บรรทัดเหล่านี้เกี่ยวข้องกันเนื่องจากคุณจําเป็นต้องคํานวณ total และรายงานผลลัพธ์ของการเลื่อนไปยังผู้ใช้

    นักพัฒนาบางรายอาจโต้เถียงว่าคุณควรเพิ่มบรรทัดว่างในการระหว่างการtotalประกาศ และConsole.WriteLine() อีกครั้งการเลือกพื้นที่ว่างขึ้นอยู่กับการตัดสินที่ดีที่สุดของคุณ คุณควรตัดสินใจว่าแบบไหนที่สามารถอ่านได้มากขึ้นสําหรับคุณและใช้สไตล์นั้นอย่างต่อเนื่อง

    สิ่งที่เจ้าเหลืออยู่คือคําสั่งif คุณสามารถตรวจสอบได้ในขณะนี้

  10. มุ่งเน้นไปที่บรรทัดของโค้ดด้านล่าง if คําสําคัญ แก้ไขโค้ดของคุณดังนี้:

    Random dice = new Random();
    
    int roll1 = dice.Next(1, 7);
    int roll2 = dice.Next(1, 7);
    int roll3 = dice.Next(1, 7);
    
    int total = roll1 + roll2 + roll3;
    Console.WriteLine($"Dice roll: {roll1} + {roll2} + {roll3} = {total}");
    
    if ((roll1 == roll2) || (roll2 == roll3) || (roll1 == roll3)) 
    {
        if ((roll1 == roll2) && (roll2 == roll3)) 
        {
            Console.WriteLine("You rolled triples!  +6 bonus to total!");
            total += 6; 
        } 
        else 
        {
            Console.WriteLine("You rolled doubles!  +2 bonus to total!");
            total += 2;
        }
    }
    
  11. โปรดสังเกตว่า คุณได้ย้ายวงเล็บปีกกาเปิดและปิดไปยังเส้นของตัวเองเพื่อปรับปรุงระยะห่าง

    สัญลักษณ์ { และ } สร้างบล็อกรหัส โครงสร้าง C# จํานวนมากจําเป็นต้องมีบล็อกโค้ด สัญลักษณ์เหล่านี้ควรถูกวางบนบรรทัดที่แยกต่างหากเพื่อให้สามารถมองเห็นและอ่านขอบเขตได้อย่างชัดเจน

    นอกจากนี้ สิ่งสําคัญคือต้องใช้ tab คีย์เพื่อจัดแนวสัญลักษณ์บล็อกรหัสภายใต้คําสําคัญที่พวกเขาเป็นสมาชิกอยู่ ตัวอย่างเช่น สังเกตบรรทัดของโค้ดที่เริ่มต้นด้วยคําสําคัญif ด้านล่างบรรทัดนั้นคือ { สัญลักษณ์ การจัดแนวนี้ทําให้เข้าใจได้ง่ายว่า{คําสั่ง "เป็นของ"if นอกจากนี้ บรรทัดสัญลักษณ์สุดท้าย } ที่ if ขึ้นกับใบแจ้งยอดด้วยเช่นกัน การรวมกันของการจัดแนวและการเยื้องทําให้ง่ายต่อการทําความเข้าใจตําแหน่งที่บล็อกโค้ดเริ่มต้นและสิ้นสุดลง

    บรรทัดรหัสภายในของบล็อกรหัสนี้เยื้องซึ่งระบุว่าบรรทัดเหล่านั้น "อยู่" ของบล็อกรหัสนี้

    คุณทําตามรูปแบบที่คล้ายกันด้วยคําสั่งและifคําสั่งภายในelseและรหัสภายในบล็อกรหัสเหล่านั้น

ทุกคนไม่ยอมรับแนวทางสไตล์นี้สําหรับการรวมช่องว่าง อย่างไรก็ตาม คุณควรพิจารณาใช้คําแนะนํานี้เป็นจุดเริ่มต้นเมื่อเขียนโค้ด ในอนาคตคุณสามารถมีจุดประสงค์เมื่อตัดสินใจที่จะเบี่ยงเบนจากคําแนะนํานี้

สรุป

ประเด็นหลักจากแบบฝึกหัดนี้:

  • ใช้ช่องว่างอย่างรอบครอบเพื่อปรับปรุงความสามารถในการอ่านโค้ดของคุณ
  • ใช้ตัวดึงข้อมูลบรรทัดเพื่อสร้างบรรทัดว่างเพื่อแยกวลีของโค้ดออก วลีประกอบด้วยบรรทัดของโค้ดที่คล้ายกัน หรือทํางานร่วมกัน
  • ใช้ตัวดึงข้อมูลบรรทัดเพื่อแยกสัญลักษณ์บล็อกรหัสเพื่อให้อยู่ในบรรทัดโค้ดของตนเอง
  • ใช้คีย์ tab เพื่อจัดบรรทัดบล็อกรหัสด้วยคําสําคัญที่เชื่อมโยงอยู่
  • เยื้องโค้ดภายในบล็อกโค้ดเพื่อแสดงความเป็นเจ้าของ