IDE dla dużych, wielojęzycznych projektów (np. Jądro Linuksa)


11

Wiem, że pytanie „jakiego IDE używasz” zostało zadane milion razy. Ale nigdy nie widziałem tego w tym kontekście. Jakie są sugestie dotyczące IDE podczas pracy nad dużymi projektami obejmującymi wiele języków i tysiące plików.

Dobrym przykładem jest źródło Androida. Dla jądra wymagany jest nie tylko dobry IDE C / C ++, ale także skrypty Java i powłoki. Czy jest coś, co jest zbudowane dla tego rodzaju projektu?

Zwykle używam KDevelop dla C / C ++. Uwielbiam to, ale wydaje się, że eksploduje podczas używania go do dużych projektów, takich jak jądro Linuksa. Również nie robi nic dla Javy ani Pythona.

Tak więc w zasadzie szukam sugestii dla IDE / konfiguracji (tj. Vim + skrypty) do pracy z dużymi projektami, włączając w to samo jądro Linuksa.

Edytuj :

Myślę, że mogłem być niejasny. Nie szukam IDE per se. To, co naprawdę mnie interesuje, to narzędzie (zestaw narzędzi?), Które ułatwia pracę z dużymi połączonymi projektami. Na przykład. Jądro linuksa definiuje wiele funkcji makr. Chcę być w stanie otworzyć dowolny plik źródłowy w drzewie jądra i zobaczyć definicję tego makra (czy to za pomocą myszy, okna rozszerzenia vima, czy cokolwiek innego).


Szczególnie przydatne do nawigacji w jądrze Linuksa jest LXR (odnośnik do Linuksa online) . W przypadku Androida Eclipse jest preferowanym środowiskiem IDE, więc autorzy poświęcili trochę energii, aby wszystko działało dobrze.
Gilles 'SO - przestań być zły'

1
Przez Androida masz na myśli tworzenie aplikacji na Androida java? Lub rozwój jądra Androida / NDK?
Falmarri,

@Falmarri - Z tego, co znalazłem, w konkretnym przypadku rozwoju jądra Linuksa wydaje się, że Link + jest bardzo popularny: sourceforge.net/projects/linkplustest
Guy Avraham

Odpowiedzi:


5

Polecam, abyś nie trzymał się żadnych IDE na słowo. Pozwól, aby Twój kod pozostał jako płaskie pliki w systemie plików i korzystaj z niezależnych narzędzi (Emacsa, zestawu narzędzi GCC, Ctags itp.), Które musisz wykonać, aby zaimplementować operacje, które musisz zaimplementować. Dzięki temu twoja baza kodu będzie niezależna od IDE i wolna od bałaganu, który ją otacza (np. Pliki .project itp.).


2
To chyba moje pytanie. Niekoniecznie potrzebuję IDE jako takiego (jak w przypadku wszystkich jego funkcji). Ale chcę zobaczyć, gdzie są zdefiniowane makra jądra, uzupełnianie kodu i tym podobne. Kiedy projekty zaczynają docierać do dziesiątek tysięcy plików z zależnościami czasu kompilacji i definicjami warunkowymi, niezwykle trudno jest zachować prostotę przy użyciu vima.
Falmarri

1

Mogę rozmawiać tylko z doświadczenia, więc prawdopodobnie nie obejmuje to projektów wielkości twojego. Używam Code :: Blocks do programowania w C i C ++.

Ogólną ideą jest jednak sprytne wykorzystanie takich rzeczy jak git , vim , ctags itp. I utrzymanie wszystkiego niezwiązanego z określonym IDE. Sztuka polega na tym, aby nie zmuszać programistów do używania określonego IDE. Każdy w twoim projekcie powinien korzystać z dowolnej techniki i programów rozwojowych, które lubią.

Jeśli chodzi o zarządzanie dużą ilością plików, niech system plików wykona zadanie. Skorzystaj z folderów i plików opisowych, a także komentarzy w kodzie.


1

Eclipse byłby prawdopodobnie najlepszym wyborem dla Ciebie. Posiada wtyczki do ogromnej liczby języków i technologii, które można dostosowywać, dostępne dla wszystkich systemów operacyjnych. Jako minus używa java i wymaga dużo pamięci.


2
Zaćmienie jest zbyt zawodne, gdy używa się go do większych projektów. Deweloperzy Java trzymają się tego, ponieważ istnieje niewiele alternatyw.
polemon

Czy bez problemu używałeś go z dużym projektem?
tshepang

2
Problem, który miałem z zaćmieniem, to mentalność wtyczek. Wiele z nich (nadal jest?) Niezgodnych i najczęściej niespójnych interfejsów użytkownika. Kiedy chcesz zrobić coś „nowego”, na przykład edytować plik, który nie jest Javą, musisz pobrać i zainstalować wtyczkę, która ma tyle samo prawdopodobieństwa, że ​​cała instalacja będzie niestabilna, jak działa.
mattnz

1

Używam Visual Slick Edit dla dużego (miliony SLOC), starszego wielojęzycznego, wieloplatformowego i wieloplatformowego środowiska. Jest komercyjny i drogi (chyba że weźmiesz pod uwagę czas). W przypadku poważnej sesji Java przełączam się na Eclipse, ale w celu szybkiej naprawy / narzędzia w Javie, C / C ++, Ada, Python, Pearl, Scripts i wielu innych, jest to jedyne znane mi narzędzie, które może to zrobić, poza pudełko.

Zrobiłbyś sobie przysługę, aby nie pobierać wersji próbnej i sprawdzić, czy to

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.