IDE untuk proyek besar multi-bahasa (mis. Kernel linux)


11

Saya tahu pertanyaan "IDE yang kalian gunakan" telah ditanyakan sejuta kali. Tetapi saya belum pernah melihatnya bertanya dalam konteks ini. Apa beberapa saran untuk IDE saat mengerjakan proyek besar yang mencakup banyak bahasa dan ribuan file.

Contoh yang bagus adalah sumber android. Tidak hanya C / C ++ IDE yang bagus diperlukan untuk kernel, tetapi juga skrip Java dan shell. Apakah ada sesuatu yang dibangun untuk proyek semacam ini?

Apa yang biasanya saya gunakan adalah KDevelop untuk C / C ++. Saya menyukainya, namun, tampaknya meledak ketika menggunakannya untuk proyek-proyek besar seperti kernel linux. Juga tidak melakukan apa pun untuk Java atau python.

Jadi pada dasarnya yang saya cari adalah saran untuk IDE / setup (yaitu vim + script) untuk bekerja dengan proyek besar, termasuk kernel linux itu sendiri.

Edit :

Saya pikir saya mungkin tidak jelas. Saya tidak benar-benar mencari IDE per se. Yang saya benar-benar tertarik adalah alat (set alat?) Yang membuat bekerja dengan proyek-proyek besar yang digabungkan menjadi lebih mudah. Sebagai contoh. Kernel linux mendefinisikan banyak fungsi makro. Saya ingin dapat membuka file sumber apa pun yang diberikan di pohon kernel dan dapat melihat definisi makro itu (apakah itu dengan mousing, atau jendela ekstensi vim, atau apa pun).


Untuk menavigasi kernel Linux secara khusus, LXR (referensi silang Linux online) sangat membantu. Untuk Android, Eclipse adalah IDE yang disukai, jadi penulis telah menghabiskan energi membuat semuanya bekerja dengan baik dengannya.
Gilles 'SO- berhenti bersikap jahat'

1
Menurut Android, maksud Anda pengembangan aplikasi java android? Atau pengembangan kernel / NDK android?
Falmarri

@ Falmarri - Dari apa yang saya temukan, dalam kasus spesifik pengembangan kernel Linux, tampaknya Link + sangat populer: sourceforge.net/projects/linkplustest
Guy Avraham

Jawaban:


5

Apa yang saya sarankan adalah Anda tidak tetap berpegang pada per IDE. Biarkan kode Anda tetap sebagai file datar dalam sistem file, dan gunakan alat independen (Emacs, GCC toolchain, Ctags, dll) yang Anda miliki untuk mengimplementasikan operasi yang harus Anda implementasikan. Itu akan membuat IDE basis kode Anda independen dan bebas dari kekacauan yang mengelilinginya (seperti file proyek, dll.).


2
Saya kira itu semacam pertanyaan saya. Saya tidak perlu IDE per se (seperti pada semua fitur-fiturnya). Tapi yang ingin saya lihat adalah di mana makro kernel didefinisikan, penyelesaian kode, dan hal-hal seperti itu. Ketika proyek mulai mencapai puluhan ribu file dengan kompilasi dependensi waktu dan definisi kondisional, sangat sulit untuk menjaga hal-hal lurus menggunakan vim.
Falmarri

1

Saya hanya bisa berbicara dari pengalaman, jadi mungkin tidak mencakup proyek ukuran Anda. Saya menggunakan Kode :: Blok untuk pengembangan dalam C dan C ++.

Namun, Ide umumnya adalah memanfaatkan hal-hal seperti git , vim , ctags , dll., Dan menjaga semuanya tidak terikat pada IDE tertentu. Caranya adalah, jangan memaksa pengembang untuk menggunakan IDE tertentu. Setiap orang di proyek Anda harus menggunakan teknik dan program pengembangan apa pun yang mereka suka.

Adapun untuk mengelola sejumlah besar file, biarkan filesystem melakukan pekerjaan. Manfaatkan folder dan file deskriptif, serta komentar di dalam kode Anda.


1

Eclipse mungkin akan menjadi pilihan terbaik untuk Anda. Ini memiliki plugin untuk sejumlah besar bahasa dan teknologi, dapat disesuaikan, tersedia untuk semua OS. Karena minus menggunakan java dan membutuhkan banyak memori.


2
Eclipse terlalu tidak dapat diandalkan saat menggunakannya untuk proyek yang lebih besar. Pengembang Java berpegang teguh pada itu, karena ada sedikit alternatif di sekitar.
polemon

Sudahkah Anda menggunakannya dengan proyek besar tanpa masalah?
tshepang

2
Masalah yang saya miliki dengan eclipse adalah mentalitas plugin. Banyak yang (masih?) Antarmuka pengguna tidak kompatibel dan sebagian besar tidak konsisten. Ketika Anda ingin melakukan sesuatu yang "baru", seperti mengedit file yang bukan Java, Anda harus mengunduh dan menginstal sebuah plugin, yang memiliki banyak peluang membuat seluruh instalasi tidak stabil seperti halnya bekerja.
mattnz

1

Saya menggunakan Visual Slick Edit untuk lingkungan besar (jutaan SLOC), multi-bahasa, multi-platform, multi pengembangan. Ini komersial dan mahal (Kecuali jika Anda memperhitungkan waktu Anda). Untuk sesi Java yang serius saya beralih ke Eclipse, tetapi untuk perbaikan cepat / alat di Jawa, C / C ++, Ada, Python, Pearl, Script dan banyak lainnya itu satu-satunya alat yang saya tahu yang bisa melakukannya, keluar dari kotak.

Anda akan merugikan diri sendiri untuk tidak mengunduh percobaan dan melihat apakah itu

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.