IDE สำหรับโครงการขนาดใหญ่หลายภาษา (เช่นเคอร์เนล linux)


11

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

ตัวอย่างที่ดีคือแหล่งที่มาของ Android ไม่เพียง แต่เป็น C / C ++ IDE ที่ดีที่จำเป็นสำหรับเคอร์เนลเท่านั้น แต่ยังมีสคริปต์ Java และเชลล์ด้วย มีอะไรที่สร้างขึ้นสำหรับโครงการประเภทนี้หรือไม่?

สิ่งที่ฉันใช้ตามปกติคือ KDevelop สำหรับ C / C ++ ฉันชอบมัน แต่ดูเหมือนว่าจะระเบิดเมื่อใช้มันสำหรับโครงการขนาดใหญ่เช่นเคอร์เนลลินุกซ์ นอกจากนี้ยังไม่ได้ทำอะไรเลยสำหรับ Java หรือ python

ดังนั้นสิ่งที่ฉันกำลังมองหาคือคำแนะนำสำหรับ IDE / การตั้งค่า (เช่น vim + สคริปต์) สำหรับการทำงานกับโครงการขนาดใหญ่รวมถึงเคอร์เนลลินุกซ์เอง

แก้ไข :

ฉันคิดว่าฉันอาจไม่ชัดเจน ฉันไม่ได้มองหา IDE อย่างแน่นอน สิ่งที่ฉันสนใจจริงๆคือเครื่องมือ (ชุดเครื่องมือ?) ที่ทำให้การทำงานกับโครงการขนาดใหญ่ ตัวอย่างเช่น. เคอร์เนล linux กำหนดฟังก์ชันแมโครจำนวนมาก ฉันต้องการที่จะสามารถเปิดไฟล์ต้นฉบับใด ๆ ที่ได้รับในเคอร์เนลทรีและสามารถที่จะเห็นความหมายของแมโครนั้น (ไม่ว่าจะเป็นการวางเมาส์เหนือหรือหน้าต่างส่วนขยายเป็นกลุ่มหรืออะไรก็ได้)


สำหรับการนำเคอร์เนล Linux โดยเฉพาะLXR (การอ้างอิงข้าม Linux ออนไลน์)มีประโยชน์มาก สำหรับ Android Eclipse เป็น IDE ที่ต้องการดังนั้นผู้เขียนได้ใช้พลังงานบางอย่างทำให้สิ่งต่าง ๆ ทำงานได้ดี
Gilles 'หยุดความชั่วร้าย'

1
โดย Android คุณหมายถึงการพัฒนาแอป android java หรือไม่ หรือ Android เคอร์เนล / พัฒนา NDK?
Falmarri

@Falmarri - จากสิ่งที่ฉันได้พบในกรณีเฉพาะของการพัฒนาเคอร์เนล Linux ดูเหมือนว่า Link + ได้รับความนิยมมาก: sourceforge.net/projects/linkplustest
Guy Avraham

คำตอบ:


5

สิ่งที่ฉันอยากจะแนะนำคือคุณไม่ยึดติดกับ IDE ต่อการพูดใด ๆ ปล่อยให้รหัสของคุณคงอยู่ในรูปแบบไฟล์แบนในระบบไฟล์และใช้เครื่องมืออิสระ (Emacs, เครื่องมือห่วงโซ่ GCC, Ctags และอื่น ๆ ) ที่คุณต้องใช้ในการปฏิบัติงานที่คุณต้องปฏิบัติ ที่จะทำให้ codebase ของคุณเป็นอิสระจาก IDE และปราศจากความยุ่งเหยิงที่ล้อมรอบมัน (เช่นไฟล์. project ฯลฯ )


2
ฉันเดาว่าเป็นคำถามของฉัน ฉันไม่จำเป็นต้องมี IDE ต่อ se (เช่นเดียวกับคุณสมบัติทั้งหมดของมัน) แต่สิ่งที่ฉันต้องการเห็นคือที่มาโครเคอร์เนลถูกกำหนดโค้ดให้สมบูรณ์และสิ่งต่าง ๆ เช่นนั้น เมื่อโครงการเริ่มเข้าถึงไฟล์นับหมื่น ๆ ไฟล์ที่มีการรวบรวมเวลาและกำหนดเงื่อนไขได้ยากมากที่จะทำให้สิ่งต่าง ๆ ตรงโดยใช้ vim
Falmarri

1

ฉันสามารถพูดคุยจากประสบการณ์เท่านั้นดังนั้นจึงอาจไม่ครอบคลุมโครงการขนาดของคุณ ฉันใช้Code :: Blocksสำหรับการพัฒนาใน C และ C ++

อย่างไรก็ตามแนวคิดทั่วไปคือการใช้ประโยชน์อย่างชาญฉลาดเช่นgit , vim , ctagsเป็นต้นและทำให้ทุกอย่างไม่ถูกผูกไว้กับ IDE ที่เฉพาะเจาะจง เคล็ดลับคือไม่บังคับให้นักพัฒนาใช้ IDE บางตัว ทุกคนในโครงการของคุณควรใช้เทคนิคการพัฒนาและโปรแกรมที่พวกเขาชอบ

สำหรับการจัดการไฟล์จำนวนมากให้ระบบไฟล์ทำงาน ใช้ประโยชน์จากโฟลเดอร์และไฟล์อธิบายรวมถึงความคิดเห็นในโค้ดของคุณ


1

Eclipse อาจเป็นตัวเลือกที่ดีที่สุดสำหรับคุณ มีปลั๊กอินสำหรับภาษาและเทคโนโลยีจำนวนมากที่ปรับแต่งได้สำหรับทุกระบบปฏิบัติการ เป็นลบมันใช้จาวาและต้องการหน่วยความจำจำนวนมาก


2
Eclipse ไม่น่าเชื่อถือเกินไปเมื่อใช้กับโครงการขนาดใหญ่ นักพัฒนา Java ติดกับมันเพราะมีทางเลือกน้อย ๆ
polemon

คุณเคยใช้กับโครงการขนาดใหญ่โดยไม่มีปัญหาหรือไม่?
tshepang

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

1

ฉันใช้ Visual Slick Edit สำหรับ SLOCs ขนาดใหญ่ (ล้าน SLOC) แบบดั้งเดิมหลายภาษาหลายแพลตฟอร์มและสภาพแวดล้อมการพัฒนาที่หลากหลาย มันเป็นเชิงพาณิชย์และมีราคาแพง (เว้นแต่คุณจะคำนึงถึงเวลาของคุณ) สำหรับเซสชัน Java ที่ร้ายแรงฉันเปลี่ยนไปใช้ Eclipse แต่สำหรับการแก้ไขอย่างรวดเร็ว / เครื่องมือใน Java, C / C ++, Ada, Python, Pearl, สคริปต์และอื่น ๆ อีกมากมายเป็นเครื่องมือเดียวที่ฉันรู้ว่าสามารถทำได้ กล่อง.

คุณจะต้องทำลายตัวเองเพื่อไม่ให้ดาวน์โหลดรุ่นทดลองและดูว่าเป็นไปได้หรือไม่

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