เครื่องมือแก้ไขโค้ดสามารถบอกใบ้ถึงระดับการซ้อนโค้ดอย่างไรโดยไม่ต้องใช้การเยื้อง [ปิด]


233

ฉันได้เขียนโปรแกรมแก้ไขข้อความ XMLที่ให้ 2 ตัวเลือกมุมมองสำหรับข้อความ XML เดียวกันหนึ่งเยื้อง (จริง), อื่น ๆ ชิดซ้าย แรงจูงใจสำหรับมุมมองที่ถูกต้องทางซ้ายคือการช่วยให้ผู้ใช้เห็น 'อักขระช่องว่างที่พวกเขากำลังใช้สำหรับการเยื้องของข้อความธรรมดาหรือรหัส XPath โดยไม่มีการแทรกแซงจากการเยื้องซึ่งเป็นผลข้างเคียงโดยอัตโนมัติของบริบท XML

ฉันต้องการที่จะให้เบาะแสที่มองเห็น (ในส่วนที่ไม่สามารถแก้ไขได้ของการแก้ไข) สำหรับโหมดชิดซ้ายที่จะช่วยให้ผู้ใช้ แต่ไม่ได้รับการทำอย่างละเอียดเกินไป

ฉันลองใช้สายเชื่อมต่อ แต่มันดูยุ่งเกินไป สิ่งที่ดีที่สุดที่ฉันเคยได้รับมาจนถึงตอนนี้แสดงอยู่ในสกรีนช็อตของเครื่องมือแก้ไขด้านล่าง แต่ฉันกำลังมองหาทางเลือกที่ดีกว่า / ง่ายกว่า (ซึ่งไม่ต้องการรหัสมากเกินไป)

ตัวบ่งชี้ระดับการซ้อนโค้ดเอดิเตอร์

[แก้ไข]

รับแนวคิด heatmap (จาก: @jimp) ฉันได้รับสิ่งนี้และ 3 ทางเลือก - ระบุว่า a, b และ c:

ความคิดเริ่มต้น

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


NestView

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

เส้นโค้ง

ชื่อของเส้นที่แรเงาแตกต่างกันภายใน NestView

ป้อนคำอธิบายรูปภาพที่นี่

ภาพด้านบนแสดง NestView ที่ใช้เพื่อช่วยให้เห็นภาพตัวอย่าง XML แม้ว่า XML จะใช้สำหรับภาพประกอบนี้ แต่มีการใช้ไวยากรณ์รหัสอื่น ๆ ที่ใช้ในการซ้อนสำหรับภาพประกอบนี้

ภาพรวม:

  1. เส้นชั้นความสูงจะถูกแรเงา (เหมือนในแผนที่ความร้อน) เพื่อถ่ายทอดระดับการทำรัง

  2. เส้นชั้นความสูงมีมุมเพื่อแสดงเมื่อระดับการซ้อนถูกเปิดหรือปิด

  3. เส้นชั้นความสูงจะเชื่อมโยงการเริ่มต้นของระดับการซ้อนกับส่วนท้ายที่เกี่ยวข้อง

  4. ความกว้างที่รวมกันของเส้นชั้นความสูงให้ภาพที่มองเห็นได้ของระดับการซ้อนนอกเหนือไปจากแผ่นความร้อน

  5. ความกว้างของ NestView อาจปรับขนาดได้ด้วยตนเอง แต่ไม่ควรเปลี่ยนแปลงเมื่อมีการเปลี่ยนแปลงรหัส เส้นรูปทรงสามารถถูกบีบอัดหรือถูกตัดทอนเพื่อให้บรรลุนี้

  6. บางครั้งบรรทัดที่ว่างเปล่าจะใช้รหัสเพื่อแยกข้อความเป็นชิ้นย่อยได้มากขึ้น บรรทัดดังกล่าวอาจก่อให้เกิดพฤติกรรมพิเศษใน NestView ตัวอย่างเช่น heatmap อาจถูกรีเซ็ตหรือใช้เส้นสีพื้นหลังหรือทั้งสองอย่าง

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

  8. พฤติกรรมที่แตกต่าง (เช่นการพับโค้ดหรือการเลือกรหัส) สามารถเชื่อมโยงกับการคลิก / ดับเบิลคลิกบนเส้นรูปโค้ง

  9. ส่วนต่าง ๆ ของเส้นชั้นความสูง (นำหน้า, กลางหรือตามขอบ) อาจมีพฤติกรรมแบบไดนามิกที่แตกต่างกัน

  10. เคล็ดลับเครื่องมือสามารถแสดงบนเหตุการณ์โฮเวอร์เมาส์เหนือเส้นชั้นความสูง

  11. NestView ได้รับการปรับปรุงอย่างต่อเนื่องเมื่อมีการแก้ไขรหัส ในกรณีที่การทำรังไม่ได้ตั้งสมมติฐานอย่างสมดุลสามารถทำได้ในกรณีที่ระดับการซ้อนควรจบลง แต่เส้นเน้นเส้นชั้นความสูงชั่วคราวที่เกี่ยวข้องจะต้องถูกเน้นในบางวิธีเพื่อเป็นการเตือน

  12. สามารถรองรับการลากและวางของ Contour Lines ได้ พฤติกรรมอาจแตกต่างกันไปตามส่วนของเส้นชั้นความสูงที่ถูกลาก

  13. คุณสมบัติที่พบได้ทั่วไปที่ขอบซ้ายเช่นหมายเลขบรรทัดและการเน้นสีเพื่อหาข้อผิดพลาดและสถานะการเปลี่ยนแปลงอาจซ้อนทับ NestView

ฟังก์ชั่นเพิ่มเติม

ข้อเสนอนี้กล่าวถึงปัญหาเพิ่มเติมหลายประการโดยส่วนใหญ่อยู่นอกขอบเขตของคำถามเดิม แต่มีผลข้างเคียงที่เป็นประโยชน์

มองเห็นการเชื่อมโยงจุดเริ่มต้นและจุดสิ้นสุดของภูมิภาคที่ซ้อนกัน

เส้นชั้นความสูงจะเชื่อมต่อจุดเริ่มต้นและจุดสิ้นสุดของแต่ละระดับที่ซ้อนกัน

เน้นบริบทของบรรทัดที่เลือกในปัจจุบัน

เมื่อเลือกรหัสแล้วระบบจะไฮไลต์ระดับรังที่เกี่ยวข้องใน NestView

แยกความแตกต่างระหว่างขอบเขตของรหัสในระดับซ้อนกัน

ในกรณีของ XML เฉดสีที่ต่างกันสามารถใช้กับเนมสเปซที่แตกต่างกันได้ ภาษาโปรแกรม (เช่น c #) รองรับการตั้งชื่อภูมิภาคที่สามารถใช้งานได้ในลักษณะเดียวกัน

แบ่งพื้นที่ภายในพื้นที่ทำรังออกเป็นบล็อคภาพต่างๆ

มีการแทรกบรรทัดเพิ่มเติมลงในรหัสเพื่อช่วยให้สามารถอ่านได้ง่าย สามารถใช้บรรทัดว่างเหล่านี้เพื่อรีเซ็ตระดับความอิ่มตัวของเส้นชั้นความสูงของ NestView

มุมมองโค้ดหลายคอลัมน์

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

ป้อนคำอธิบายรูปภาพที่นี่

การใช้นอกเหนือจากการให้ความช่วยเหลือด้านภาพ

ตามที่เสนอในภาพรวม NestView สามารถให้บริการช่วงของการแก้ไขและคุณสมบัติการเลือกซึ่งจะสอดคล้องกับสิ่งที่คาดหวังจากการควบคุม TreeView ความแตกต่างที่สำคัญคือโหนด TreeView ทั่วไปมี 2 ส่วนคือส่วนขยายและไอคอนโหนด เส้นชั้นความสูงของ NestView สามารถมีได้มากถึง 3 ส่วนคือตัวเปิด (แบบลาด) ตัวเชื่อมต่อ (แนวตั้ง) และแบบปิด (แบบเอียง)


ในการเยื้อง

NestView นำเสนอควบคู่ไปกับการเติมโค้ดที่ไม่เยื้อง แต่ไม่น่าจะมาแทนที่มุมมองรหัสเยื้องแบบดั้งเดิม

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

การพิมพ์

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

ป้อนคำอธิบายรูปภาพที่นี่

Screen Real-Estate: Flat Vs เยื้อง

การตอบคำถามว่า NestView ใช้อสังหาริมทรัพย์ที่มีค่าบนหน้าจอหรือไม่:

เส้นรูปโค้งทำงานได้ดีกับความกว้างเหมือนกับความกว้างอักขระของตัวแก้ไขรหัส ความกว้างของ NestView ที่มีความกว้าง 12 ตัวอักษรจึงสามารถรองรับการซ้อน 12 ระดับก่อนที่จะตัดหรือบีบอัดเส้นชั้นความสูง

หากมุมมองที่เยื้องใช้ความกว้าง 3 อักขระสำหรับแต่ละระดับการซ้อนจะมีการบันทึกพื้นที่ว่างไว้จนกว่าการซ้อนจะถึง 4 ระดับของการซ้อนหลังจากระดับการซ้อนนี้มุมมองแบบแบนจะมีข้อดีในการประหยัดพื้นที่ซึ่งเพิ่มขึ้นในแต่ละระดับการซ้อน

หมายเหตุ: แนะนำให้ใช้การเยื้องต่ำสุดของความกว้าง 4 อักขระสำหรับโค้ดอย่างไรก็ตาม XML มักจะจัดการด้วยความที่น้อยกว่า นอกจากนี้การจัดรูปแบบเสมือนจริงยังอนุญาตให้ใช้การเยื้องน้อยลงเนื่องจากไม่มีความเสี่ยงของปัญหาการจัดตำแหน่ง

การเปรียบเทียบ 2 มุมมองแสดงไว้ด้านล่าง:

ป้อนคำอธิบายรูปภาพที่นี่

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

ใช้เคส

ตัวอย่างของตัวอย่างจริงที่ NestView อาจเป็นตัวเลือกที่มีประโยชน์:

  1. ที่ซึ่งธุรกิจอสังหาริมทรัพย์อยู่ในระดับพรีเมี่ยม

    บนอุปกรณ์เช่นแท็บเล็ตสมุดบันทึกและสมาร์ทโฟน

    ข เมื่อแสดงรหัสบนเว็บไซต์

    ค เมื่อหน้าต่างรหัสหลายหน้าต่างต้องปรากฏบนเดสก์ท็อปพร้อมกัน

  2. ในกรณีที่การเว้นวรรคเยื้องที่สอดคล้องกันของข้อความภายในรหัสเป็นสำคัญ

  3. สำหรับการตรวจสอบโค้ดที่ซ้อนกันอย่างล้ำลึก ตัวอย่างเช่นที่ sub-languages ​​(เช่น Linq ใน C # หรือ XPath ใน XSLT) อาจทำให้เกิดการซ้อนในระดับสูง

การเข้าถึง

ต้องมีการปรับขนาดและตัวเลือกสีเพื่อช่วยเหลือผู้พิการทางสายตาและเพื่อให้เหมาะสมกับสภาพแวดล้อมและความชอบส่วนตัว:

ป้อนคำอธิบายรูปภาพที่นี่

ความเข้ากันได้ของรหัสที่แก้ไขกับระบบอื่น ๆ

โซลูชันที่รวมตัวเลือก NestView ควรมีความสามารถในการลอกแท็บนำและอักขระช่องว่าง (ระบุว่ามีเพียงบทบาทการจัดรูปแบบ) จากโค้ดที่นำเข้า จากนั้นเมื่อถูกปล้นรหัสจะสามารถแสดงผลได้อย่างเรียบร้อยทั้งในมุมมองด้านซ้ายและด้านเยื้องที่ไม่มีการเปลี่ยนแปลง สำหรับผู้ใช้หลายคนที่ต้องพึ่งพาระบบเช่นการผสานและเครื่องมือต่าง ๆ ที่ไม่ได้คำนึงถึงช่องว่างสิ่งนี้จะเป็นข้อกังวลหลัก


งานอื่น ๆ :

การสร้างภาพมาร์กอัปที่ทับซ้อนกัน

งานวิจัยตีพิมพ์โดยเวนเดล Piezวันจากปี 2004 ที่อยู่ในประเด็นของการสร้างภาพของมาร์กอัปที่ทับซ้อนกันโดยเฉพาะที่LMNL ซึ่งรวมถึงกราฟิก SVG ที่มีความคล้ายคลึงกันอย่างมีนัยสำคัญกับข้อเสนอ NestView เช่นนี้จะได้รับการยอมรับที่นี่

ความแตกต่างของภาพมีความชัดเจนในภาพ (ด้านล่าง) ความแตกต่างที่สำคัญในการทำงานคือ NestView มีไว้สำหรับ XML หรือรหัสที่ซ้อนกันเท่านั้นในขณะที่กราฟิกของ Wendell Piez ได้รับการออกแบบมาเพื่อแสดงการซ้อนซ้อนกัน

ป้อนคำอธิบายรูปภาพที่นี่

กราฟิกข้างต้นได้รับการทำซ้ำโดยได้รับอนุญาตจาก http://www.piez.org

แหล่งที่มา:

  1. ต่อมาร์กอัป Hermenutic
  2. ครึ่งก้าวสู่ LMNL

6
ฉันไม่มีคำตอบที่แท้จริงสำหรับคุณเพียงแค่ความเห็น ดูตัวอย่างของคุณ B คือตัวเลือกที่ฉันชอบ มันโดดเด่นสำหรับฉันเพราะ "heatmap" ตามหลังการเยื้องแทนการมิเรอร์มันเหมือนกับตัวอย่างแรกและ C ทำ A ตามด้วยการเยื้องที่แท้จริง แต่ B ก็เหมือนกับสิ่งที่คุณจะเห็นเมื่อ xml ที่แท้จริงถูกเยื้อง ตัวอย่างที่สองนั้นเรียบง่ายเกินไปสำหรับความชอบของฉัน
Marjan Venema

4
ฉันต้องการโค้ดที่เยื้องเข้าไป ไม่แน่ใจว่าประโยชน์ของสิ่งนี้จะเป็นอย่างไร ฉันขาดอะไรที่ชัดเจนหรือไม่ (จริงๆไม่ได้ตั้งใจให้เรื่องนี้ฟังดูไม่ดี)
Chris

9
ฉันไม่เห็นว่าการทำมาร์จิ้นขนาดใหญ่บนเส้น 100% นั้นดีกว่าการทำมาร์จิ้นเท่าที่แต่ละบรรทัดต้องการ
John Gietzen

1
@John Gietzen วัตถุประสงค์ไม่ใช่เพื่อบันทึกหน้าจออสังหาริมทรัพย์ (แม้ว่าอาจจะมีผลกระทบในหลาย ๆ กรณี) การอนุญาตให้มีการควบคุมอักขระช่องว่างที่เข้มงวดยิ่งขึ้นเมื่อมีความสำคัญ - จะมีการจัดเตรียมมุมมองที่เยื้อง (แต่เสมือนโดยไม่ต้องใช้อักขระเสริมภายใน)
pgfearo

3
ฉันลงคะแนนให้ปิดคำถามนี้เป็นหัวข้อนอกเพราะเป็นคำถาม UX แต่เก่าเกินไปที่จะโยกย้าย
วงล้อประหลาด

คำตอบ:


104

ฉันพยายามตอบคำถามของฉันเองที่นี่ แต่นี่เป็นการรวมแนวคิด heatmap จาก @jimp และยังเป็นแนวคิด 'ทำให้เป็นมากกว่า XML-ish' จาก @Andrea:

ป้อนคำอธิบายรูปภาพที่นี่

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

แก้ไข ได้ตัดสินใจที่จะไปกับเรื่องนี้อาจจะต้องมีตัวเลือกผู้ใช้สำหรับสี ภาพหน้าจอ 'พร้อมการผลิต':

ป้อนคำอธิบายรูปภาพที่นี่

และสำหรับการเปรียบเทียบ ... มุมมองเยื้องทางเลือก:

ป้อนคำอธิบายรูปภาพที่นี่

แก้ไขตอนนี้สำหรับกรณีที่ซ้อนกันมากขึ้น - ทดสอบทักษะการวาดของฉัน ...

ป้อนคำอธิบายรูปภาพที่นี่


1
มันดูดี ! ทำได้ดีมาก แต่มันจะดูอย่างไรเมื่อมีการเยื้องมากขึ้น?
Loïc Lopes

1
@ Louhike ขอบคุณ! ใช่มันมีค่าสูงสุด 4 ระดับและฉันไม่ต้องการยืดระยะขอบซ้ายให้มากขึ้น - ดังนั้นฉันจะบีบอัดความกว้างของแท่งแนวตั้งมากขึ้นในระดับการทำรังที่สูงขึ้น - เหมือนกับแผนที่รูปร่างหวังว่า
pgfearo

2
@Louhike ฉันได้เพิ่มภาพพิเศษเพื่อแสดงให้เห็นว่าสิ่งต่าง ๆ สามารถดูได้อย่างไรกับการซ้อนกันของ 9 ระดับ - หลังจากนั้นประมาณ 15 ระดับก็อาจจำเป็นต้องรวมแถบกลางเข้าด้วยกันบางทีอาจใช้การไล่ระดับสีเติม
pgfearo

10
นี่ช่างยอดเยี่ยมมาก +1 สำหรับการแก้ไขรหัสและส่วนต่อประสานผู้ใช้ไปอีกระดับ ผู้ที่มีบัญชีควรโพสต์สิ่งนี้ใน Hacker News /.หรือ r / programming
Konrad Rudolph

2
สงสัยว่ามันจะเป็นอย่างไรกับแถบด้านข้างพลิกในแนวนอน ... imgur.com/u5mNi
chanux

24

แนวคิดหนึ่งอาจลองและเพิ่ม 3D ลงในข้อความ เพิ่ม / ลดขนาดตัวอักษรตามระดับที่อยู่

ตัวอย่างเช่นรหัสนี้:

ป้อนคำอธิบายรูปภาพที่นี่

จะมีลักษณะเช่นนี้:

ป้อนคำอธิบายรูปภาพที่นี่

นั่นอาจเป็นเรื่องที่น่ารำคาญที่จะทำงานด้วยเนื่องจากสูญเสียการจัดตำแหน่งข้อความในระดับที่ต่างกัน ความคิดอื่น เปลี่ยนความอิ่มตัวของแต่ละระดับ:

ป้อนคำอธิบายรูปภาพที่นี่

มันจะดีกว่าสำหรับสิ่งที่ลึกจริงๆ? ไม่แน่ใจ...

จริง ๆ แล้วฉันชอบความคิดการสร้างภาพร่องของคุณมาก มันง่ายที่จะรวมกลุ่มสิ่งต่าง ๆ เข้าด้วยกัน อาจรวมกับหนึ่งในความคิดเหล่านี้มันจะดูดีขึ้นหรือมากขึ้น crappier ;)


เมื่อไม่นานมานี้ฉันได้ทำแผนที่แสดงความร้อนใน C. อาจสนุกกับการระดมสมอง:

ป้อนคำอธิบายรูปภาพที่นี่

ชิดซ้าย:

ป้อนคำอธิบายรูปภาพที่นี่


2
มันดึงดูดที่จะทำบางสิ่งบางอย่างกับข้อความ แต่มันเป็นเรื่องยากที่จะทำโดยไม่กวนใจนักพัฒนาในขณะที่พวกเขาพิมพ์หรือหลังจากนั้น การเปลี่ยนแปลงที่มีผลต่อความสูงของแบบอักษรทำให้เกิดปัญหา - เราอาจทนเห็นรหัสของเราขึ้นและลงได้น้อยกว่าทางด้านข้าง ฉันชอบความคิดของคุณในการแรเงาโค้ด แต่สิ่งนี้จะต้องมีความละเอียดอ่อนเพราะฉันต้องการลองและทำให้สิ่งต่าง ๆ ดูไม่กระจ่าง
pgfearo

2
แต่สิ่งนี้จะยอดเยี่ยมสำหรับสภาพแวดล้อมการสอน!
jcolebrand

คำแนะนำขนาดตัวอักษรนั้นน่าสนใจอย่างมาก - ฉันเห็นข้อเสียของมันได้ ทำไมไม่ทำให้ตัวอักษรมีขนาดเล็กลงเนื่องจากขอบเขตนั้นซ้อนกันอย่างลึกซึ้งมากขึ้น - สิ่งนี้จะช่วยกีดกันการทำรังในที่ลึก (แม้ว่ามันจะทำให้เกิดปัญหาที่การทำรังในที่ลึกเป็นวิธีแก้ปัญหาที่สมเหตุสมผล)
Peter

2
heatmap ดีกว่าการมองเห็นขอบเขตจริง ๆ มากกว่าการสร้างภาพขอบเขตซ้าย - ชิด (วิธีแก้ปัญหาของ @ pfgearo)
Sandeep

@Sandeep ฉันยอมรับว่านี่เป็นวิธีแก้ปัญหาที่ดีกว่าในหลายกรณีโดยเฉพาะอย่างยิ่งเมื่อตรวจสอบโค้ดแทนที่จะแก้ไข ข้อ จำกัด ทางเทคนิค (ตามที่อธิบายไว้ในคำถาม) ทำให้ยากสำหรับฉันในการปรับเปลี่ยนสีพื้นหลังด้วยการควบคุมปัจจุบันที่ฉันใช้ อย่างมีประสิทธิภาพฉันใช้ด้านซ้ายของแผนที่ความร้อนในคำตอบนี้ - แต่มีขอบลาดไปทางพื้นที่ที่แก้ไขเพื่อช่วยดึงดูดสายตาปัญหาหนึ่งที่มีพื้นหลังข้อความสีคือการอ่าน / ความคมชัดหายไปที่สูงกว่า ระดับของการทำรัง
pgfearo

21

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

แคปซูล

ฉันคิดว่าด้านซ้ายนั้นยอดเยี่ยมสำหรับการแสดงการเยื้องโดยตรงในขณะที่ด้านขวาดีกว่าในการถ่ายทอดความสัมพันธ์ที่ซ้อนกัน


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

9

ความคิดของฉัน:

การทำรังมีลักษณะเหมือนการทำรัง ความกว้างแนวนอนของแต่ละชั้นไม่จำเป็นต้องกว้างมาก


ฉันคิดว่าสิ่งที่คุณเสนอเป็นหลักเหมือนกับคำตอบ (ที่ได้รับแรงบันดาลใจจากคนอื่น ๆ ) ที่ฉันให้ แต่ไม่มีเส้นลาดเอียง ฉันคิดว่าเส้นลาดเอียงช่วยดึงดูดสายตาระหว่างการเปิดและปิดที่ดีขึ้น ความกว้างไม่ใช่ปัญหาจริงเพราะ (ดังแสดงในภาพ 9 ระดับ) ความกว้างของเส้นแนวตั้งนั้นไม่ขึ้นอยู่กับความกว้างของเส้นลาดเอียงดังนั้นเส้นแนวตั้งสามารถบีบอัดได้
pgfearo

ใช่ pg- ฉันสังเกตเห็นว่าหลังจากโพสต์แล้ว พวกมันมีลักษณะภูมิประเทศเหมือนกัน ฉันคิดว่ามันเป็นเรื่องของรสนิยม แต่เวอร์ชันของฉันแค่ตะโกน "ทำรัง" ให้ฉันในแบบที่คุณทำไม่ได้ บางทีคุณลักษณะนี้อาจเล่นได้ทั้งคู่และอนุญาตให้ผู้ใช้เลือก
broc7

8

ฉันชอบความคิด ข้อเสนอแนะของฉันเพื่อให้ "ไม่ว่าง" ลงไปคือการใช้การไล่ระดับสีแทนการใช้กำลังสอง มันจะลดทอนเส้น บางทีสีที่แตกต่างกันสำหรับการเยื้องอย่างมาก

ฉันจะบอกว่าทุกสิ่งที่คุณมีเป็นสิ่งที่ดี แต่บล็อกเล็กน้อยสำหรับรสนิยมของฉัน

ความคิดเห็นของฉัน: ฉันได้รับการดิ้นรนอย่างต่อเนื่องกับวิธีการที่ Visual Studio IDE เยื้อง ฉันชอบที่จะใช้สิ่งนี้หรือรูปแบบ

ดังนั้นลองจินตนาการว่าลิงค์นั้นไม่มีเส้นและสอดคล้องกับ xml / code ปัจจุบันของคุณ


ใช่ความคิดยังคงพัฒนา รูปภาพในคำตอบที่ฉันส่งมา (แทนที่จะเป็นคำถามของฉัน) นั้นมีการปิดกั้นน้อยกว่าเพราะพวกมันมีแนวลาดชัน / ต่อท้ายฉันกำลังพิจารณาใช้การไล่ระดับสี (แต่แตกต่างกันเล็กน้อย) ฉันอยู่กับคุณในสีที่ต่างกันสำหรับการเยื้องสูง แต่ยังเพื่อเน้นสิ่งต่าง ๆ เช่นความคิดเห็นหรือข้อผิดพลาด และจากนั้นก็มีการเน้นแบบไดนามิกสำหรับการแสดงบริบท / การดีบักปัจจุบัน ... ความยากลำบากในการตัดสินเมื่อจะหยุด
pgfearo

5

เนื่องจากคุณกล่าวว่าการสร้างภาพข้อมูลต้องมีอยู่ในระยะขอบ (ซ้าย?) ที่ไม่สามารถแก้ไขได้ฉันเชื่อว่าหมายความว่าการสร้างภาพข้อมูลไม่สามารถสอดแทรกหรืออยู่ด้านหลังรหัสได้

บางทีแผนที่ความร้อนในคอลัมน์ด้านซ้ายด้วยสีที่สว่างกว่าซึ่งบ่งบอกการเยื้องที่ลึกซึ้งยิ่งขึ้น? ทำให้ขนาดขอบคงที่ด้วยการสร้างภาพเหมือนสิ่งที่คุณมี (คาดว่าจะจากซ้ายไปขวาเหมือนกับการเยื้อง) ที่ใช้พื้นที่ทั้งหมดที่กำหนดตามการเยื้องสูงสุดตามที่กำหนดโดยความลึกของ DOM แบบไดนามิก

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


@jimp ใช่การสร้างภาพข้อมูลไม่สามารถอยู่ด้านหลังโค้ดได้ - เท่าที่ฉันชอบที่จะลองสิ่งนี้ทักษะการเขียนโปรแกรม / แพลตฟอร์มของฉันจะทำให้มันซับซ้อนเกินไป สีพื้นหลังในเครื่องมือแก้ไขนั้นยากอีกครั้ง แต่นั่นทำให้ฉันมีความคิดว่าฉันสามารถลองใช้โทนสีพื้นหน้าที่แตกต่างกันได้ ฉันจะลองแถบซ้ายไปขวาและแผนที่ความร้อนตามที่คุณแนะนำ
pgfearo

+1 สำหรับแนวคิดแผนที่ความร้อน (Y) .. และฉันอาจแนะนำระดับการซ้อนภายในสีสำหรับผู้ที่มีความต้องการพิเศษด้านภาพ (เช่นตาบอดสี)
M.Sameer

@jimp Updated คำถามของฉันแสดงให้เห็นถึงความคิดของคุณ heatmap ที่ฉันชอบ แต่ฉันคิดว่าฉันมีซ้ายไปขวาสิ่งที่ผิด ...
pgfearo

@pgfearo ฉันดีใจที่ความคิดของฉันเป็นประโยชน์! จากสิ่งที่ฉันเห็นคุณทำฉันคิดว่าฉันชอบ L&F จากขวาไปซ้ายดีกว่า ฉันขอโทษฉันไม่ได้รับโอกาสตรวจสอบก่อนหน้านี้ (วันหยุดสุดสัปดาห์ที่วุ่นวาย) เนื่องจากคุณได้ก้าวหน้าไปมากฉันจะแสดงความคิดเห็นต่อคำตอบที่คุณโพสต์ไว้ด้านบน
jimp

@pgfearo โอ๊ะฉันไม่มีชื่อเสียงพอที่จะแสดงความคิดเห็นกับคำตอบของคุณ! ฉันจะโพสต์ความคิดเกี่ยวกับคำตอบของคุณเมื่อฉันได้รับสิทธิพิเศษนั้นหวังว่าเร็ว ๆ นี้!
jimp

3

jGRASP ทำสิ่งนี้โดยใช้เครื่องหมายภาพในระยะขอบ:

ป้อนคำอธิบายรูปภาพที่นี่

มันยังจำได้เมื่อคุณใช้การวนซ้ำและใช้สายชนิดอื่นเพื่อแสดงการวนซ้ำภายในนั้น

แค่คิดว่าฉันจะชี้ให้เห็นว่าตัวแก้ไขที่มีอยู่ทำอย่างไร


5
เสียงดังเกินไปในความคิดของฉัน แต่ก็ยังเป็นความคิดที่ดี
Konrad Rudolph

ฉันได้ดูแล้วและไซต์ documentatin บอกเป็นนัยว่าภาพหน้าจอมาจากโปรแกรมดูรหัสเป็นไดอะแกรมไม่ใช่โปรแกรมแก้ไขโค้ด ยังได้รับไม่มีอักขระ padding แต่ก็ยังคงมุมมองเยื้อง ฉันกำลังมองหาวิธีแก้ปัญหาง่ายๆที่ไม่จำเป็นต้องมีการเยื้องของรหัสด้วยเหตุผลที่กำหนดไว้ในคำถาม ที่กล่าวว่า JGrasp ดูเหมือนเป็นเครื่องมือที่ยอดเยี่ยมสำหรับการปรับปรุงความเข้าใจโค้ด
pgfearo

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

3

ไม่ใช่ความคิดที่ดี แต่ต้องอ้างอิงระยะขอบด้านซ้ายเพื่อดูบล็อกของฉันอย่างชัดเจนอาจทำให้เกิดความรำคาญเล็กน้อย นั่นไม่ได้คิดเกี่ยวกับอสังหาริมทรัพย์จอหรือสิ่งที่อาจเริ่มดูเหมือนว่าถ้าโครงสร้างลึกมาก

เนื่องจากแรงจูงใจคือการช่วยให้ผู้ใช้เห็น 'อักขระช่องว่างที่ผู้ใช้ใช้สำหรับการย่อหน้าคุณสามารถแสดงอักขระช่องว่างสีขาวได้

ฉันไม่ได้พูดถึงตัวละครภาพพิเศษเช่นเครื่องหมายวรรคเพียงแค่ไฮไลท์ ช่องว่างในสีเหลืองแท็บเป็นสีเขียว (หรืออะไรก็ตาม)

สำหรับปัญหามาร์จิ้น / การซ้อนคุณสามารถย้ายมาร์จิ้นสำหรับแต่ละบล็อคได้ไม่มีอะไรที่บอกว่าระยะขอบจะต้องเป็นเส้นตรง

ฉันแน่ใจว่านี่ไม่ใช่ความคิดใหม่

บางสิ่งเช่นนี้

ตัวอย่าง xml แสดงระยะขอบซ้ายที่ขยับและช่องว่างที่เน้น


ด้วยมุมมองที่เยื้องแผนคือการเปิดช่องว่างแบบไดนามิกคล้ายกับความคิดของคุณ นอกจากนี้โปรดจำไว้ว่าในมุมมองแบบแบน 30 ระดับของการซ้อนจะใช้พื้นที่เดียวกับ 1 ระดับการเยื้องนั้นจะอยู่นอกขอบของหน้าจอของคุณนั่นคือเหตุผลหนึ่งที่นักพัฒนาเลือกมุมมอง
pgfearo

1
ใช่นั่นคือเหตุผลที่ฉันบอกว่ามันไม่ใช่ความคิดใหม่ อย่างไรก็ตามหากระดับของการเยื้องเป็นลอการิทึมหรือแบบไดนามิกตามระดับที่ฉันกำลังแก้ไขอยู่ที่คุณจะไม่มีปัญหาที่คุณกำลังพูดถึง แม้ว่ามันจะถูกแก้ไขเพียงแค่ที่ 1 สเปซ แต่มันจะไม่ถูกปิดหน้าจอ คุณจะไม่ได้ครึ่งทางเลยแม้แต่กับตัวละคร 80 ตัว ใช่ด้วยความคิดเหล่านี้ 30 ระดับจะใช้พื้นที่เดียวกับ 1 ระดับ แต่เมื่อคุณดูบางส่วนของที่นี่ไม่มีที่ว่างสำหรับการเยื้องพวกเขาจะเยื้องสิ่งทั้งหมดและเพิ่มกราฟิกแฟนซีบางอย่าง
Justin Ohms

โอห์ม ตอนนี้มีส่วนบนหน้าจออสังหาริมทรัพย์ในคำถาม (นี่คือวิกิชุมชนและทั้งหมด) ซึ่งรวมถึงการเปรียบเทียบภาพหน้าจอ หากคุณสามารถอัปเดตส่วนนี้ด้วยการสังเกตของคุณเองที่จะดี โปรดยอมรับว่าฉันเป็นแฟนตัวยงของมุมมองที่มีการเยื้อง (ทำงานในโลก XML และทั้งหมด) นั่นเป็นเหตุผลที่ฉันใช้เวลา 6 เดือนที่ผ่านมาหรือมากกว่านั้นเพื่อปรับปรุงเทคนิคสำหรับการจัดรูปแบบเสมือนจริงที่ระบบจัดการเยื้อง หากมีสิ่งหนึ่งที่ฉันได้เรียนรู้แม้ว่านักพัฒนาจะชอบตัวเลือก - ดังนั้นมุมมองแบบแบน
pgfearo

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

2

ทำไมไม่เปิดและปิดวงเล็บ?

  1. การเยื้องหมายถึงการบรรจุ: (และ) หมายถึงการเขียนโปรแกรมอย่างแท้จริง
  2. (และ) แต่ละตัวมีอักขระเดียว: แถบด้านซ้ายจะบางมาก
  3. องค์ประกอบที่ว่างเปล่าด่างได้อย่างง่ายดาย: use () ในบรรทัดเดียวกัน
  4. เนื้อหาขององค์ประกอบไม่จำเป็นต้องมีเงื่อนงำภาพ: ช่องว่างนั้นดีกว่ามาก
  5. ตำแหน่งเคอร์เซอร์ทางด้านขวาสามารถจับคู่โดยบล็อกที่มีอยู่ทางด้านซ้าย: เพิ่มสีแบบไดนามิกไปยังตัวอักษรในคอลัมน์ด้วย (และ)
  6. คุณสามารถเพิ่ม XML-ish ให้มากขึ้นโดยใช้ <และ> ซึ่งดูดีกว่าจากระยะไกล

แนวคิดที่เป็นประโยชน์บางอย่าง - จะพยายามรวมไว้โดยเฉพาะอย่างยิ่งบิต XML-ish นอกจากนี้ยังมีบางอย่างที่เกิดขึ้นแบบไดนามิกและฉันอาจจะเพิ่มบางส่วน - โดยไม่ได้รับการครอบงำเกินไป
pgfearo

2

เป็นกลุ่มสามารถทำสิ่งที่คล้ายกันอยู่แล้วแม้ว่าจะไม่สวยเท่าที่ควร

มีหลายวิธีในการทำ "การพับโค้ด" ใน Vim หนึ่งในนั้นขึ้นอยู่กับกฎการพับไวยากรณ์ เมื่อทำสิ่งนี้เสร็จแล้วโค้ดสามารถถูกพับโดยใช้โครงสร้างเค้าร่างแบบซ้อนและ "FoldColumn" สามารถใช้เพื่อให้กราฟิก .

foldcolumn สามารถให้การแทนการซ้อนโดยไม่คำนึงถึง foldmethod แต่เมธอดที่อิงกับไวยากรณ์เป็นวิธีที่เหมาะสมสำหรับสิ่งที่คุณต้องการ ฉันไม่แน่ใจว่ามีกฎการพับตามไวยากรณ์ไว้ล่วงหน้าสำหรับ xml หรือไม่ฉันคิดว่าอาจจะมี


บรรณาธิการที่ฉันออกแบบคือการรวมเข้ากับระบบที่มีขนาดใหญ่กว่าด้วย GUI ที่ Vim หรือเครื่องมือของบุคคลที่สามไม่ได้รับการพิจารณาเนื่องจากเหตุผลทางเทคนิคและสิทธิ์ใช้งาน อย่างไรก็ตามฉันสนใจว่า Vim จะจัดการกับสิ่งนี้อย่างไรจึงจะตรวจสอบ - หวังว่าพวกเขาจะมีภาพหน้าจอในเอกสารประกอบ ใช่กราฟิกตามตัวละครสามารถทำงานได้ในระดับหนึ่ง - ฉันล้อเลียนหนึ่งสำหรับการวิจัย การพับโค้ดสามารถทำได้จากระยะขอบซ้าย แต่มีการจัดเตรียมมุมมองแบบต้นไม้แบบต้นไม้
pgfearo

@pgfearo: คุณอาจดูโปรโตคอล NetBeans ของ Vim มันถูกใช้เพื่อฝัง Vim ใน IDE โดยไม่มีปัญหาเรื่องลิขสิทธิ์
greyfade

@greyfade - ฉันกลัวว่าจะมีปัญหาเรื่องลิขสิทธิ์เนื่องจากโครงการปัจจุบันของฉันเป็นอย่างน้อยเนื่องจากแหล่งข้อมูลปิดและฉันต้องการความสะดวก (แม้ว่าฉันจะไม่ได้ใช้ก็ตาม) เพื่อแก้ไข Vim source โดยไม่ต้องกังวล GPL นอกจากนั้นโปรโตคอลก็ดูน่าสนใจ
pgfearo

1

ฉันคิดว่าคุณอยู่ในเส้นทางที่ถูกต้องด้วยตัวเลือก B และ C: รวมถึงการระบายสีทั้งความกว้างและความร้อน ฉันชอบตัวเลือก B มากกว่า C ในขณะนี้เพราะมันรบกวนน้อยกว่า (ทั้งกว้างและเจือจางหรือแคบและรุนแรงมากกว่าบล็อกที่หนักมากกลาง C) ข้อเสียข้อเดียวคือคุณต้องเลือก สร้างกราฟใหม่ทั้งหมดหากคุณแทรกระดับที่ใดที่หนึ่ง ฉันคิดว่าคุณสามารถทำให้บล็อกเล็กลงได้ 1 หรือ 2 px น่าจะเพียงพอแล้ว มันไม่จำเป็นต้องมากนักเพียงแค่ต้องแยกแยะได้ โดยเฉพาะอย่างยิ่งเมื่อผู้คนคาดว่าจะใช้โปรแกรมแก้ไขหลายครั้งผลที่ไม่สร้างความรำคาญและความละเอียดอ่อนมากขึ้นจะทำงานได้ง่ายขึ้นเพราะพวกเขาไม่ได้หันเหความสนใจมากนัก

สิ่งหนึ่งที่สำคัญเมื่อใช้ตัวแก้ไขแปลก ๆ คือการเน้นขอบเขตปัจจุบัน: เมื่อเลือกบรรทัดในตัวแก้ไขคุณจำเป็นต้องดูองค์ประกอบใด ๆ ที่มีอยู่และหยุดอยู่ตรงไหน คุณยังสามารถไฮไลต์ต้นไม้ขึ้นมาได้ (องค์ประกอบใดเป็นลูกของ) ฉันคิดว่าเป็นปัญหาที่แยกต่างหากที่ต้องการการจัดการและคิดออกและจะมีอิทธิพลต่อวิธีที่ผู้ใช้จะให้คะแนนประสบการณ์ของพวกเขากับบรรณาธิการ


ตอนนี้ฉันได้ส่งคำตอบที่ฉันคิดว่าข้ามไปกับคุณ แต่บังเอิญมีความสัมพันธ์กับความคิดของคุณในการเน้นขอบเขตปัจจุบัน (ด้วยเส้นขอบที่เร่าร้อน)? ฉันยอมรับว่าบล็อกควรมีความเสือกน้อยลงเอฟเฟกต์เกินจริงที่นี่เพื่อช่วยในการวาดภาพของฉันและเพื่อให้พวกเขาแสดงภาพหน้าจอที่ลดขนาดลง
pgfearo

1

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

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


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

0

ตัวเลือกหนึ่งซึ่งสามารถใช้ร่วมกับคำแนะนำอื่น ๆ ได้คือใช้คำแนะนำเครื่องมือบนระยะขอบด้านซ้ายซึ่งแสดงเส้นทางไปยังบรรทัดโดยใช้สัญกรณ์ XPath เครื่องมือ "ตรวจสอบองค์ประกอบ" ของเบราว์เซอร์ (เช่น Firebug ซึ่งสร้างขึ้นใน Chrome) มักทำสิ่งที่คล้ายกัน แต่ในแถบสถานะ


ฉันเพิ่งจดจ่อกับการควบคุมนี้ แต่ 'XPath Location Bar' ที่มีเนวิเกเตอร์ 'breadcrumb' ทำงานได้และรวมอยู่ในโปรแกรมแก้ไขเนื่องจากเป็นองค์ประกอบแบบทรีของมุมมองแบบต้นไม้
pgfearo

0

อาจเป็นไปได้ว่าคุณอาจมีมุมมองที่ยุบสำหรับ heatmap (จากโพสต์ดั้งเดิม) ที่มีเพียงคอลัมน์เดียวของสีและตัวเลขความลึก สิ่งนี้จะช่วยให้พวกเขารู้ว่าพวกเขาอยู่ลึกแค่ไหนและให้อสังหาริมทรัพย์ที่มีอยู่บนหน้าจอมากขึ้นสำหรับ xml ดูเหมือนว่าชนะจะชนะฉัน

ฉันกังวลว่าจะมีความแตกต่างของสีมากพอที่จะทำรังอย่างลึกซึ้งหรือไม่


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