IDE per grandi progetti multilingue (es. Kernel Linux)


11

So che la domanda "quale IDE usate voi ragazzi" è stata posta un milione di volte. Ma non l'ho mai visto chiedere in questo contesto. Quali sono alcuni suggerimenti per un IDE quando si lavora su grandi progetti che comprendono più lingue e migliaia di file.

Un buon esempio è la fonte Android. Non è richiesto solo un buon IDE C / C ++ per il kernel, ma anche script Java e shell. C'è qualcosa che è stato costruito per questo tipo di progetto?

Quello che uso normalmente è KDevelop per C / C ++. Lo adoro, tuttavia, sembra esplodere quando lo si utilizza per progetti enormi come il kernel Linux. Inoltre non fa nemmeno nulla per Java o Python.

Quindi quello che sto sostanzialmente cercando sono suggerimenti per IDE / setup (es. Vim + script) per lavorare con grandi progetti, incluso lo stesso kernel linux.

Modifica :

Penso che potrei essere stato poco chiaro. Non sto esattamente cercando un IDE in sé. Quello a cui sono veramente interessato è uno strumento (set di strumenti?) Che semplifica il lavoro con progetti grandi e accoppiati. Per esempio. Il kernel di Linux definisce molte funzioni macro. Voglio essere in grado di aprire qualsiasi dato file sorgente nell'albero del kernel ed essere in grado di vedere la definizione di quella macro (sia passando il mouse sopra, o una finestra di estensione vim o altro).


Per la navigazione specifica del kernel Linux, LXR (riferimento incrociato Linux online) è molto utile. Per Android, Eclipse è l'IDE preferito, quindi gli autori hanno speso un po 'di energia per far funzionare bene le cose.
Gilles 'SO- smetti di essere malvagio' l'

1
Per Android, intendi lo sviluppo di app Android Java? O sviluppo del kernel Android / NDK?
Falmarri,

@Falmarri - Da quello che ho trovato, nel caso specifico dello sviluppo del kernel Linux, sembra che Link + sia molto popolare: sourceforge.net/projects/linkplustest
Guy Avraham

Risposte:


5

Quello che consiglierei è di non attenersi ad alcun IDE per dire. Lascia che il tuo codice rimanga come file flat nel filesystem e usa strumenti indipendenti (Emacs, GCC toolchain, Ctags, ecc.) Che devi implementare per le operazioni che devi implementare. Ciò manterrà il tuo codebase indipendente dall'IDE e privo di disordine che lo circonda (come file .project, ecc.).


2
Immagino che sia una specie di mia domanda. Non ho necessariamente bisogno di un IDE di per sé (come in tutte le sue funzionalità). Ma quello che voglio poter vedere è dove sono definite le macro del kernel, il completamento del codice e cose del genere. Quando i progetti iniziano a raggiungere decine di migliaia di file con dipendenze in fase di compilazione e definizioni condizionali, è estremamente difficile mantenere le cose dritte usando vim.
Falmarri,

1

Posso solo parlare per esperienza, quindi probabilmente non comprende progetti delle dimensioni del tuo. Uso Code :: Blocks per lo sviluppo in C e C ++.

L'idea generale, tuttavia, è fare un uso intelligente di cose come git , vim , ctags , ecc. E mantenere tutto non associato a un IDE specifico. Il trucco è non forzare gli sviluppatori a utilizzare un determinato IDE. Tutti nel tuo progetto dovrebbero usare qualunque tecnica di sviluppo e programmi che preferiscono.

Per quanto riguarda la gestione di grandi quantità di file, lascia che il filesystem faccia il lavoro. Utilizza cartelle e file descrittivi, nonché commenti nel tuo codice.


1

Eclipse sarebbe probabilmente la scelta migliore per te. Ha plugin per una grande quantità di lingue e tecnologie, personalizzabili, disponibili per tutti i sistemi operativi. Come meno usa java e richiede molta memoria.


2
Eclipse è troppo inaffidabile quando lo si utilizza per progetti più grandi. Gli sviluppatori Java si attengono a questo, perché ci sono poche alternative in giro.
polemon

L'hai usato con un grande progetto senza problemi?
Tshepang,

2
Il problema che ho avuto con eclipse è la mentalità del plugin. Molte erano (sono ancora?) Interfacce utente incompatibili e per lo più incoerenti. Ogni volta che vuoi fare qualcosa di "nuovo", come modificare un file che non è Java, devi scaricare e installare un plugin, che ha tante possibilità di rendere instabile l'intera installazione come funziona.
Mattnz,

1

Uso Visual Slick Edit per un ambiente di grandi dimensioni (milioni di SLOC), multi-lingua, multi-piattaforma e multi-sviluppo legacy. È commerciale e costoso (a meno che tu non tenga conto del tuo tempo). Per una sessione Java seria passo a Eclipse, ma per una rapida correzione / strumento in giro per Java, C / C ++, Ada, Python, Pearl, Scripts e molti altri è l'unico strumento che conosco che può semplicemente farlo, dal scatola.

Ti farebbe un cattivo servizio per non scaricare una versione di prova e vedere se

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.