ฉันชอบเวอร์ชันที่ไม่มีเครื่องหมายปีกกามากที่สุด
คำอธิบายต่อไปนี้มีความยาว กรุณาอดทนกับฉัน ฉันจะให้เหตุผลที่น่าสนใจสำหรับฉันที่จะชอบสไตล์นี้ ฉันจะอธิบายด้วยว่าเหตุใดฉันจึงคิดว่าการโต้แย้งปกติไม่ถือ
(ใกล้ -) บรรทัดว่างเปล่าเป็นของเสีย
สาเหตุของการทำเช่นนี้คือการปิดวงเล็บปีกกาต้องมีบรรทัดของรหัสพิเศษ - และวงเล็บปีกกาเปิดขึ้นอยู่กับสไตล์ 1
นี่เป็นเรื่องใหญ่หรือไม่? เผินๆไม่มี ท้ายที่สุดแล้วคนส่วนใหญ่ใส่บรรทัดที่ว่างในรหัสของพวกเขาเพื่อแยกบล็อกอิสระเล็กน้อยเชิงตรรกะซึ่งช่วยเพิ่มความสามารถในการอ่านอย่างมากมาย
อย่างไรก็ตามฉันเกลียดการสูญเสียพื้นที่แนวตั้ง จอภาพสมัยใหม่มีพื้นที่แนวนอนกว้างขวาง แต่พื้นที่แนวตั้งยังคงมี จำกัด มาก (เว้นแต่คุณจะใช้จอภาพหันตรงซึ่งไม่ใช่เรื่องผิดปกติ) พื้นที่แนวตั้งที่ จำกัดนี้เป็นปัญหา: เป็นที่ยอมรับกันอย่างกว้างขวางว่าแต่ละวิธีควรสั้นที่สุดเท่าที่จะเป็นไปได้และวงเล็บปีกกาที่เกี่ยวข้อง (หรือตัวคั่นบล็อกอื่น ๆ ) ไม่ควรเกินความสูงของหน้าจอที่แตกต่างกัน เลื่อน
นี่เป็นปัญหาพื้นฐาน : เมื่อคุณไม่เห็นบล็อกทั้งหมดบนหน้าจออีกต่อไปมันจะซับซ้อนเกินกว่าที่จะเข้าใจ
ด้วยเหตุนี้ฉันจึงเกลียดบรรทัดว่างที่ซ้ำซ้อน ไหนบรรทัดว่างเดียวที่มีความสำคัญเพื่อกำหนดเขตบล็อกอิสระ (แค่ดูที่ลักษณะที่ปรากฏของข้อความนี้) ติดต่อกันเป็นบรรทัดว่างเป็นมากสไตล์ที่ไม่ดีในหนังสือของฉัน (และในประสบการณ์ของผมพวกเขามักจะเป็นสัญญาณของโปรแกรมเมอร์มือใหม่)
ในทำนองเดียวกันเส้นที่ยึดรั้งและที่ควรจะประหยัดควรเป็น บล็อกคำสั่งเดียวซึ่งคั่นด้วยวงเล็บปีกกาเสียหนึ่งถึงสองบรรทัด มีเพียง 50-ish บรรทัดต่อความสูงของหน้าจอนี่คือการสังเกต
การละเว้นการจัดฟันอาจไม่เป็นอันตราย
มีข้อโต้แย้งเพียงข้อเดียวเกี่ยวกับการละเว้นวงเล็บปีกกา: บางคนจะเพิ่มคำสั่งอีกครั้งในบล็อกที่เป็นปัญหาและจะลืมเพิ่มวงเล็บปีกกาดังนั้นจึงเปลี่ยนความหมายของรหัสโดยไม่ตั้งใจ
นี่จะเป็นเรื่องใหญ่แน่ ๆ
แต่จากประสบการณ์ของฉันมันไม่ใช่ ฉันเป็นโปรแกรมเมอร์เลอะเทอะ; และในทศวรรษแห่งประสบการณ์การเขียนโปรแกรมของฉันฉันสามารถพูดได้อย่างตรงไปตรงมาว่าฉันไม่เคยลืมที่จะเพิ่มวงเล็บปีกกาเมื่อเพิ่มคำสั่งพิเศษในบล็อกเดี่ยว
ฉันยังพบว่ามันไม่น่าเป็นไปได้ที่นี่จะเป็นข้อผิดพลาดทั่วไป: บล็อกเป็นส่วนพื้นฐานของการเขียนโปรแกรม ความละเอียดระดับบล็อกและการกำหนดขอบเขตเป็นกระบวนการทางจิตอัตโนมัติที่ฝังแน่นสำหรับโปรแกรมเมอร์ สมองทำเช่นนั้น (ไม่เช่นนั้นการใช้เหตุผลเกี่ยวกับการเขียนโปรแกรมจะยากกว่ามาก) ไม่มีความพยายามทางจิตเพิ่มเติมใด ๆ ที่จำเป็นในการจำการใส่เครื่องหมายวงเล็บ: โปรแกรมเมอร์ยังจำการเยื้องคำสั่งที่เพิ่มใหม่อย่างถูกต้องหลังจากทั้งหมด; ดังนั้นโปรแกรมเมอร์จึงประมวลผลทางจิตใจแล้วว่ามีส่วนเกี่ยวข้องกับบล็อก
ตอนนี้ฉันไม่ได้พูดว่าการไม่ใส่เครื่องหมายปีกกาจะไม่ทำให้เกิดข้อผิดพลาด สิ่งที่ฉันกำลังพูดคือเราไม่มีหลักฐานไม่ทางใดก็ทางหนึ่ง เราไม่รู้ว่ามันเป็นอันตรายหรือไม่
ดังนั้นจนกว่าจะมีใครสามารถแสดงข้อมูลที่ฉันเก็บรวบรวมจากการทดลองทางวิทยาศาสตร์แสดงให้เห็นว่านี่เป็นปัญหาในทางปฏิบัติจริง ๆ แล้วทฤษฎีนี้ยังคงเป็น " เรื่องราวที่ดีมาก": สมมติฐานที่น่าสนใจอย่างมากที่ไม่เคยถูกทดสอบ ต้องไม่ใช้เป็นอาร์กิวเมนต์
1บางครั้งปัญหานี้ได้รับการแก้ไขโดยการใส่ทุกอย่าง - รวมทั้งเครื่องหมายปีกกา - ในบรรทัดเดียวกัน:
if (condition)
{ do_something(); }
อย่างไรก็ตามฉันเชื่อว่ามันปลอดภัยที่จะบอกว่าคนส่วนใหญ่ดูถูกสิ่งนี้ นอกจากนี้มันจะมีปัญหาเช่นเดียวกันกับตัวแปรที่ไม่มีเครื่องหมายปีกกาดังนั้นมันจึงเป็นสิ่งที่เลวร้ายที่สุดของโลกทั้งสอง