คำถามติดแท็ก indentation

14
เครื่องมือแก้ไขโค้ดสามารถบอกใบ้ถึงระดับการซ้อนโค้ดอย่างไรโดยไม่ต้องใช้การเยื้อง [ปิด]
ฉันได้เขียนโปรแกรมแก้ไขข้อความ XMLที่ให้ 2 ตัวเลือกมุมมองสำหรับข้อความ XML เดียวกันหนึ่งเยื้อง (จริง), อื่น ๆ ชิดซ้าย แรงจูงใจสำหรับมุมมองที่ถูกต้องทางซ้ายคือการช่วยให้ผู้ใช้เห็น 'อักขระช่องว่างที่พวกเขากำลังใช้สำหรับการเยื้องของข้อความธรรมดาหรือรหัส XPath โดยไม่มีการแทรกแซงจากการเยื้องซึ่งเป็นผลข้างเคียงโดยอัตโนมัติของบริบท XML ฉันต้องการที่จะให้เบาะแสที่มองเห็น (ในส่วนที่ไม่สามารถแก้ไขได้ของการแก้ไข) สำหรับโหมดชิดซ้ายที่จะช่วยให้ผู้ใช้ แต่ไม่ได้รับการทำอย่างละเอียดเกินไป ฉันลองใช้สายเชื่อมต่อ แต่มันดูยุ่งเกินไป สิ่งที่ดีที่สุดที่ฉันเคยได้รับมาจนถึงตอนนี้แสดงอยู่ในสกรีนช็อตของเครื่องมือแก้ไขด้านล่าง แต่ฉันกำลังมองหาทางเลือกที่ดีกว่า / ง่ายกว่า (ซึ่งไม่ต้องการรหัสมากเกินไป) [แก้ไข] รับแนวคิด heatmap (จาก: @jimp) ฉันได้รับสิ่งนี้และ 3 ทางเลือก - ระบุว่า a, b และ c: ส่วนต่อไปนี้อธิบายคำตอบที่ยอมรับว่าเป็นข้อเสนอโดยรวบรวมแนวคิดจากคำตอบและความคิดเห็นอื่นจำนวนมาก เนื่องจากคำถามนี้เป็นวิกิชุมชนตอนนี้โปรดอย่าลังเลที่จะอัปเดต NestView ชื่อสำหรับแนวคิดนี้ซึ่งมีวิธีการแสดงภาพเพื่อปรับปรุงความสามารถในการอ่านของโค้ดที่ซ้อนกันโดยไม่ต้องใช้การเยื้อง เส้นโค้ง ชื่อของเส้นที่แรเงาแตกต่างกันภายใน NestView ภาพด้านบนแสดง NestView ที่ใช้เพื่อช่วยให้เห็นภาพตัวอย่าง …

22
แท็บกับช่องว่าง - ลักษณะการย่อหน้าที่เหมาะสมสำหรับทุกสิ่งในทุกสถานการณ์เป็นเท่าไหร่? [ปิด]
มาตรฐานการเข้ารหัสสำหรับรหัสที่โฮสต์ใน drupal.org แนะนำให้ใช้ช่องว่างสองช่องเพื่อเยื้องรหัส ไซต์อื่น ๆ แนะนำให้ใช้แท็บเพื่อเยื้องรหัส อักขระการเยื้องที่เหมาะสมสำหรับทุกสิ่งคืออะไรและในทุกสถานการณ์? โปรดอธิบายคำตอบที่คุณให้

12
ข้อเสียของแท็บสต๊อปยืดหยุ่นคืออะไร [ปิด]
ดูที่นี่: สงครามศักดิ์สิทธิ์ทั่วไปบนแท็บ VS ช่องว่าง ตอนนี้ดูที่นี่: tabstops ยืดหยุ่น แก้ไขปัญหาทั้งหมดแล้วและเพิ่มพฤติกรรมใหม่ ๆ ที่มีประโยชน์มากมาย แท็บที่ยืดได้พูดถึงแม้ในแท็บนั้นเทียบกับการอภิปรายช่องว่างหรือไม่ ทำไมจะไม่ล่ะ? มีข้อเสียของแนวคิด tabstop ยืดหยุ่นอย่างจริงจังว่าไม่มีใครเคยใช้พวกเขาในการแก้ไขที่นิยม? แก้ไข : ฉันขอโทษที่ให้ความสำคัญกับ "ทำไมพวกเขาถึงไม่พูด" นั่นไม่ใช่สิ่งที่ฉันตั้งใจจริงๆ ว่าคำถามคืออาจเป็นไปได้ปิดหัวข้อ สิ่งที่ฉันหมายถึงจริงๆคืออะไรข้อเสียที่ใหญ่ที่สุดของสิ่งนี้ที่ป้องกันไม่ให้มีการใช้ความคิดที่เป็นประโยชน์อย่างเห็นได้ชัด? (ในโลกอุดมคติที่ทุกสิ่งรองรับแล้ว) (ปรากฎว่ามีคำขอใน Microsoft Connect สำหรับการใช้งาน Visual Studio ของแท็บที่ยืดหยุ่นและคำขอใน Eclipseด้วยเช่นกันนอกจากนี้ยังมีคำถามที่ถามเกี่ยวกับตัวแก้ไขอื่น ๆ ที่ใช้แท็บที่ยืดหยุ่น )


3
ต้นกำเนิดของการเยื้องรหัส
ฉันสนใจที่จะรู้ว่าใครเป็นผู้แนะนำการเยื้องโค้ดรวมถึงเวลาและสถานที่ที่มีการเปิดตัว ดูเหมือนว่าสำคัญอย่างยิ่งต่อการเข้าใจรหัส แต่มันไม่เป็นสากล ส่วนใหญ่ Fortran และรหัสพื้นฐานคือ (ไม่?) unindented และเดียวกันไปสำหรับ Cobol ฉันค่อนข้างมั่นใจว่าฉันเคยเห็นรหัส Lisp เก่าที่เขียนเป็นข้อความต่อเนื่องและมีเส้น คุณต้องนับวงเล็บในหัวของคุณเพื่อวิเคราะห์มัน ดังนั้นการปรับปรุงครั้งใหญ่นี้มาจากไหน? ฉันไม่เคยเห็นการกล่าวถึงต้นกำเนิดของมันเลย นอกเหนือจากตัวอย่างดั้งเดิมของการใช้งานฉันยังมองหาการอภิปรายต้นฉบับของการเยื้อง

8
ข้อห้ามในการใช้ลูปภายในลูปคืออะไร
แค่สงสัย. สิ่งที่ฉันเคยมีมากที่สุดคือสำหรับวงในสำหรับวงเนื่องจากหลังจากอ่านบทความนี้จากLinus Torvalds: แท็บคือ 8 ตัวอักษรและทำให้การเยื้องเป็น 8 ตัวอักษร มีการเคลื่อนไหวนอกรีตที่พยายามทำการเยื้อง 4 (หรือแม้แต่ 2!) ตัวละครที่ลึกและคล้ายกับการพยายามกำหนดค่าของ PI ให้เป็น 3 เหตุผล: แนวคิดทั้งหมดที่อยู่เบื้องหลังการเยื้องคือการกำหนดที่บล็อกของการควบคุมเริ่มต้นและสิ้นสุดอย่างชัดเจน โดยเฉพาะอย่างยิ่งเมื่อคุณดูหน้าจอเป็นเวลา 20 ชั่วโมงติดต่อกันคุณจะพบว่าการเยื้องนั้นง่ายกว่ามากหากคุณมีการเยื้องขนาดใหญ่ ตอนนี้บางคนจะอ้างว่าการมีการเยื้องตัวอักษร 8 ตัวทำให้โค้ดเคลื่อนที่ไปทางขวาจนเกินไปและทำให้อ่านได้ยากบนหน้าจอเทอร์มินัล 80 ตัว คำตอบก็คือหากคุณต้องการการเยื้องมากกว่า 3 ระดับคุณจะถูกเกลียวอยู่แล้วและควรแก้ไขโปรแกรมของคุณ https://www.kernel.org/doc/Documentation/CodingStyle ฉันคิดว่ามันเป็นวิธีปฏิบัติที่ยอมรับไม่ได้สำหรับฉันที่จะไปที่เลเยอร์ที่สามของการวนซ้ำและจะปรับโครงสร้างรหัสของฉัน (เบื้องต้น Qt) Linus พูดเล่นหรือเปล่า มันขึ้นอยู่กับภาษาหรือแอพพลิเคชั่นหรือไม่? มีบางสิ่งที่จำเป็นต้องวนซ้ำอย่างน้อยสามระดับหรือไม่

5
การฟอร์แมตและการควบคุมเวอร์ชัน
เรื่องการจัดรูปแบบรหัส แม้เรื่องการเยื้อง และความมั่นคงมีความสำคัญมากกว่าการปรับปรุงเล็กน้อย แต่โครงการมักจะไม่มีคู่มือสไตล์ชัดเจนชัดเจนตรวจสอบได้และบังคับใช้ตั้งแต่วันที่ 1 และการปรับปรุงที่สำคัญอาจมาถึงทุกวัน บางทีคุณอาจพบว่า SELECT id, name, address FROM persons JOIN addresses ON persons.id = addresses.person_id; อาจเขียนได้ดีกว่า / เขียนได้ดีกว่า SELECT persons.id, persons.name, addresses.address FROM persons JOIN addresses ON persons.id = addresses.person_id; ในขณะที่ทำงานเพื่อเพิ่มคอลัมน์เพิ่มเติมในแบบสอบถาม บางทีนี่อาจเป็นคำถามที่ซับซ้อนที่สุดในทั้งสี่ข้อความในรหัสของคุณหรือข้อความค้นหาเล็กน้อยในหมู่คนนับพัน ไม่ว่าการเปลี่ยนแปลงจะทำได้ยากเพียงใดคุณตัดสินใจได้ว่ามันคุ้มค่า แต่คุณจะติดตามการเปลี่ยนแปลงของรหัสในการเปลี่ยนแปลงการจัดรูปแบบที่สำคัญได้อย่างไร คุณเพียงแค่ยอมแพ้และพูดว่า "นี่คือจุดที่เราเริ่มต้นอีกครั้ง" หรือคุณสามารถฟอร์แมตแบบสอบถามทั้งหมดในประวัติพื้นที่เก็บข้อมูลทั้งหมด หากคุณใช้ระบบควบคุมเวอร์ชันแบบกระจายเช่น Git คุณสามารถย้อนกลับไปสู่การคอมมิทครั้งแรกและฟอร์แมตใหม่จากที่นี่ไปเป็นสถานะปัจจุบัน แต่มันเป็นงานจำนวนมากและทุกคนจะต้องหยุดทำงานชั่วคราว (หรือเตรียมพร้อมสำหรับแม่ของการรวมทั้งหมด) ในขณะที่มันกำลังดำเนินอยู่ มีวิธีที่ดีกว่าในการเปลี่ยนประวัติศาสตร์ซึ่งให้ผลลัพธ์ที่ดีที่สุด: สไตล์เดียวกันในทุกการกระทำ ผสานงานน้อยที่สุด …

9
วิธีการป้องกันการเยื้องลึก? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา ฉันสามารถใช้ขั้นตอนและมาตรการใดในการป้องกันการเยื้องในโค้ดของฉัน

8
จัดแต่งทรงผมผสมและ / หรือถ้าคำสั่ง
คุณจะคอมไพล์คอมเพล็กซ์ซับซ้อนอย่างไรและ / หรือถ้าคำสั่งสำหรับการอ่านสูงสุด คุณเยื้องอย่างไรและคุณวางเส้นแบ่งที่ใด สถานการณ์เฉพาะของฉันคือบางสิ่งดังต่อไปนี้ มันดีกว่าการทุบทุกอย่างให้เป็นเส้นเดียว แต่ก็ดูยุ่งเหยิง if ( ( x == y && a != b && p.isGood() && ( i + u == b || q >= a ) ) || k.isSomething() || m > n ) { doSomething(); }

5
ทำไมบางภาษาแนะนำให้ใช้ช่องว่างแทนแท็บ [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา บางทีฉันอยู่คนเดียวในเรื่องนี้ แต่บางสิ่งรบกวนฉันเหมือนคนที่เยื้องใช้ช่องว่างแทนแท็บ การพิมพ์SpaceSpaceSpaceSpaceง่ายและง่ายกว่าการพิมพ์Tabอย่างไร แน่นอนว่าความกว้างของแท็บนั้นแปรผัน แต่มันบ่งบอกถึงพื้นที่เยื้องได้ดีกว่าการเว้นวรรค สิ่งเดียวกันกลับไปเพื่อการถอยหลัง Backspace หนึ่งหรือสี่ครั้ง ทำไมภาษาอย่างหลามแนะนำให้ใช้ช่องว่างทับแท็บ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.