การเขียนโปรแกรมโดยไม่มี IDE และการสำรวจซอร์สโค้ดจากโปรเจ็กต์ c++ ขนาดใหญ่

ฉันสงสัยว่าในโครงการในโลกแห่งความเป็นจริงและโครงการโอเพ่นซอร์สพวกเขามักจะเขียนโค้ดโครงการโดยไม่มี IDE และใช้สคริปต์สร้างที่กำหนดเองและพวกเขาอาจใช้ emacs หรือ VIM ฉันสงสัยว่าพวกเขามักจะสำรวจและค้นหาโครงการเหล่านั้นสำหรับฟังก์ชั่นบางอย่างและ วิธีการและอื่น ๆ พวกเขาใช้ grep เพื่อค้นหาไฟล์โปรเจ็กต์ทั้งหมดหรือไม่หากพวกเขาไม่เข้าใจว่าคำสั่งหรือฟังก์ชันตัวประมวลผลล่วงหน้ามาจากไหน พวกเขาต้องมีวิธีที่มีประสิทธิภาพในการค้นหา มีใครรู้บ้างที่นี่? ส่วนตัวใช้ Emacs ดังนั้นหากใครสามารถบอกทิศทางที่ถูกต้องแก่ฉันในการย้ายเข้ามาทำงานเหล่านี้ได้


person George Host    schedule 23.10.2012    source แหล่งที่มา


คำตอบ (5)


สำหรับ C/C++ ฉันแนะนำให้ใช้ GNU Global (gtags) + CEDET GTags ให้การนำทาง (IMHO) ที่ดีกว่า CTags และ Semantic ของ CEDET สามารถใช้ฐานข้อมูลของ Gtag สำหรับการนำทางและสำหรับฟังก์ชันค้นหาตำแหน่งที่ใช้งานอยู่ ดูบทความของฉันเกี่ยวกับ CEDET สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่า (บทความเขียนขึ้นสำหรับ CEDET 1.1 และเวอร์ชันก่อนหน้า สำหรับเวอร์ชันใหม่ (และสำหรับรวมกับ GNU Emacs) คุณสามารถใช้ ดังต่อไปนี้ กำหนดค่า)

ฉันใช้การตั้งค่านี้เป็นการส่วนตัวเพื่อทำงานกับโปรเจ็กต์ C ++ ขนาดใหญ่ (โค้ดหลายล้านบรรทัด)

person Alex Ott    schedule 23.10.2012
comment
ไม่เคยได้ยินเรื่องสากลเลย ขอบคุณ. - person keltar; 23.10.2012
comment
นี่คือสิ่งที่ฉันกำลังมองหาขอบคุณ และขอขอบคุณคนอื่นๆ ด้านล่างด้วย ฉันไม่รู้ว่ามีเครื่องมือที่ทำการวิเคราะห์แบบคงที่ ขอบคุณ@! - person George Host; 23.10.2012

ลองดูที่ cscope และ ctags และบน emacs-code-browser ในกรณีของคุณ

person keltar    schedule 23.10.2012
comment
ฉันเชื่อว่าสิ่งนี้จะช่วยได้ ฉันเคยเห็นสมาชิกในทีมของฉันจำนวนหนึ่งใช้เทอร์มินัลกับ vim และ grep เพื่อเรียกดูโค้ดของพวกเขา แต่ฉันคิดว่าวิธีนี้ใช้ได้ - person George Host; 23.10.2012
comment
ฉันก็ใช้ grep เหมือนกัน แต่โปรเจ็กต์ไม่ได้ใหญ่มาก หาก grep แต่ละตัวให้ผลลัพธ์กับฉันมากกว่า 15 รายการ ฉันคิดว่าฉันจะคงใช้ ctags :-) - person keltar; 23.10.2012

http://www.scitools.com/ - เป็นเครื่องมือที่ดี แต่ไม่ฟรี

person Community    schedule 23.10.2012
comment
มันเป็นซอฟต์แวร์ประเภทที่แตกต่างกันมาก PVS studio ก็ดีมากเช่นกัน แต่ถึงกระนั้น มันก็ไม่ได้ช่วยอะไรที่นี่ - person keltar; 23.10.2012

สิ่งที่ฉันชอบในกรณีที่สภาพแวดล้อมที่ไม่ใช่ IDE คือ: Source Navigator NG

มันมีไว้สำหรับการท่องเว็บมากกว่า แต่ก็ทำงานได้ดี

person artapet    schedule 23.10.2012

ด้วยโปรเจ็กต์ขนาดใหญ่มากเช่นซอร์สโค้ด Android คุณจะไม่สามารถใช้ grep ได้อย่างง่ายดาย ฉันแนะนำ beagrep แทน มันเป็นเครื่องมือค้นหา (บีเกิล) ที่ได้รับความช่วยเหลือ grep ตอนนี้ฉันใช้ beagrep ในทุกโปรเจ็กต์ที่ฉันอ่าน ไม่ว่าจะเล็กหรือใหญ่

ลองดูที่ ซอร์สโค้ด grep 2G ใน 2 วินาที

person Bao Haojun    schedule 23.10.2012