Pemrograman tanpa IDE dan menjelajahi kode sumber dari proyek besar c++

Saya bertanya-tanya, dalam proyek dunia nyata dan proyek sumber terbuka mereka sering mengkodekan proyek tanpa IDE menggunakan skrip pembuatan khusus dan mereka mungkin menggunakan emacs atau VIM, saya bertanya-tanya bagaimana mereka sering melintasi dan mencari proyek-proyek tersebut untuk fungsi-fungsi tertentu dan metode dan lain-lain, apakah mereka hanya menggunakan grep untuk mencari semua file proyek jika mereka tidak memahami dari mana arahan atau fungsi praprosesor tertentu berasal? Mereka pasti mempunyai cara yang efisien untuk melakukan semua pencarian yang ada di sini yang tahu? Secara pribadi gunakan Emacs jadi jika ada yang bisa memberi saya arahan yang benar untuk melakukan tugas ini.


person George Host    schedule 23.10.2012    source sumber


Jawaban (5)


Untuk C/C++ saya merekomendasikan untuk menggunakan GNU Global (gtags) + CEDET. GTags menyediakan navigasi (IMHO) yang lebih baik daripada CTags, dan Semantik CEDET dapat menggunakan database GTag untuk navigasi & untuk fungsionalitas temukan di mana digunakan. Lihat artikel saya tentang CEDET untuk informasi lebih lanjut tentang penyiapan. (artikel ditulis untuk CEDET 1.1 & versi sebelumnya. Untuk versi baru (dan untuk dibundel dengan GNU Emacs), Anda dapat menggunakan mengikuti konfigurasi.)

Saya pribadi menggunakan pengaturan ini untuk bekerja dengan proyek C++ besar (beberapa juta baris kode).

person Alex Ott    schedule 23.10.2012
comment
Belum pernah mendengar tentang global. Terima kasih. - person keltar; 23.10.2012
comment
Ini yang saya cari, terima kasih. Juga terima kasih kepada orang lain di bawah ini. Saya tidak tahu bahwa ada alat yang melakukan analisis statis. Terima kasih@! - person George Host; 23.10.2012

Lihatlah cscope dan ctags. Dan pada browser kode emacs, dalam kasus Anda.

person keltar    schedule 23.10.2012
comment
Saya percaya ini akan membantu, saya telah melihat sekelompok anggota tim saya hanya menggunakan terminal dengan vim dan grep untuk menelusuri kode mereka, tapi saya pikir ini bisa berhasil. - person George Host; 23.10.2012
comment
Saya juga menggunakan grep, tetapi proyeknya tidak terlalu besar. Jika setiap grep memberi saya 15+ hasil - saya pikir saya akan tetap menggunakan ctags :-) - person keltar; 23.10.2012

http://www.scitools.com/ - adalah alat yang bagus, tetapi tidak gratis

person Community    schedule 23.10.2012
comment
Ya, ini jenis perangkat lunak yang sangat berbeda. Studio PVS juga sangat bagus, tapi tetap saja - itu tidak akan membantu di sini. - person keltar; 23.10.2012

Yang saya suka untuk lingkungan non IDE adalah: Source Navigator NG

Ini lebih untuk menjelajah tetapi melakukan tugasnya dengan baik.

person artapet    schedule 23.10.2012

Dengan proyek yang sangat besar seperti kode sumber Android, Anda tidak dapat menggunakan grep dengan mudah. Saya merekomendasikan beagrep sebagai gantinya. Ini adalah grep yang dibantu mesin pencari (beagle). Sekarang saya hanya menggunakan beagrep pada setiap proyek yang saya baca, tidak peduli besar atau kecil.

Lihat di kode sumber grep 2G dalam 2 detik.

person Bao Haojun    schedule 23.10.2012