ฉันใช้เวลาส่วนใหญ่ในช่วงหลายปีที่ผ่านมาทำงานเป็นหลักกับ C # และ SQL โปรแกรมเมอร์ทุกคนที่ฉันทำงานด้วยในช่วงเวลานั้นอยู่ในนิสัยของการวางวงเล็บเปิดของคำสั่งฟังก์ชั่นหรือการควบคุมการไหลของบรรทัดใหม่ ดังนั้น ...
public void MyFunction(string myArgument)
{
//do stuff
}
if(myBoolean == true)
{
//do something
}
else
{
//do something else
}
ฉันได้รับการหลงโดยพื้นที่ที่สิ้นเปลืองนี้โดยเฉพาะในงบ / อื่น ๆ และฉันรู้ว่ามีตัวเลือกอื่นใน C # รุ่นที่ใหม่กว่าเช่น:
if(myBoolean == true)
//do something on one line of code
แต่ไม่ค่อยมีใครใช้พวกเขา ทุกคนทำสิ่งที่หยิก - รั้ง - on - newline
จากนั้นฉันก็กลับไปทำจาวาสคริปต์หลังจากหายไปนาน ในความทรงจำของฉันนักพัฒนาจาวาสคริปต์เคยทำสิ่งที่เหมือนกันกับหยิก - วงเล็บปีกกา - ขึ้นบรรทัดใหม่ แต่ด้วยไลบรารีและสิ่งใหม่ที่แปลกใหม่นักพัฒนาส่วนใหญ่ใช้วงเล็บปีกกาเปิดหลังจากการประกาศ:
function MyJavaScriptFunction() {
//do something
}
คุณสามารถมองเห็นความรู้สึกนี้ได้เนื่องจากเนื่องจากการใช้งานการปิดและตัวชี้ฟังก์ชั่นได้รับความนิยมใน JavaScript จึงช่วยประหยัดพื้นที่ได้มากและทำให้อ่านง่ายขึ้น ดังนั้นฉันจึงสงสัยว่าทำไมมันไม่เห็นเป็นสิ่งที่ทำใน C # ในความเป็นจริงถ้าคุณลองสร้างข้างต้นใน Visual Studio 2013 มันจริงฟอร์แมตใหม่สำหรับคุณวางวงเล็บเปิดในบรรทัดใหม่!
ตอนนี้ฉันเพิ่งเห็นคำถามนี้ในการตรวจสอบรหัส SE: https://codereview.stackexchange.com/questions/48035/questions-responses-let-me-tell-you-about-you ซึ่งฉันได้เรียนรู้ว่าใน Java ภาษาฉันไม่คุ้นเคยกับมันมากเกินไปมันถือว่าไม่รัดกุมในการเปิดวงเล็บปีกกาของคุณทันทีหลังจากการประกาศในรูปแบบจาวาสคริปต์สมัยใหม่
ฉันเข้าใจอยู่เสมอว่า C # นั้นเป็นแบบอย่างจาก Java และยังคงมาตรฐานการเข้ารหัสพื้นฐานเดิมไว้มากมาย แต่ในกรณีนี้ดูเหมือนจะไม่ ดังนั้นฉันคิดว่าจะต้องมีเหตุผลที่ดี: อะไรคือเหตุผล? ทำไมนักพัฒนา C # (และ Visual Studio) บังคับใช้การเปิดวงเล็บปีกกาในบรรทัดใหม่
if(myBoolean == true)
ทำให้ฉันมีความรู้สึกเล็กน้อย ในขณะที่เราอยู่ที่มันในขณะที่ไม่if ((myBoolean == true) == true)
? แค่นี้if (myBoolean)
ก็พอแล้ว ขออภัยสัตว์เลี้ยงของฉัน