IDE para projetos grandes e multilíngues (ou seja, kernel linux)

11

Eu sei que a pergunta "qual IDE vocês usam" já foi feita um milhão de vezes. Mas eu nunca vi isso perguntado neste contexto. Quais são algumas sugestões para um IDE ao trabalhar em grandes projetos que abrangem vários idiomas e milhares de arquivos.

Um bom exemplo é a fonte do Android. Não é apenas necessário um bom IDE C / C ++ para o kernel, mas também scripts Java e shell. Existe alguma coisa criada para esse tipo de projeto?

O que eu normalmente uso é o KDevelop for C / C ++. Adoro, no entanto, parece explodir ao usá-lo em grandes projetos, como o kernel do linux. Também não faz nada para Java ou python.

Então, basicamente, o que estou procurando são sugestões para IDEs / setups (por exemplo, vim + scripts) para trabalhar com grandes projetos, incluindo o próprio kernel do linux.

Editar :

Eu acho que posso não estar claro. Não estou exatamente procurando por um IDE em si. O que realmente me interessa é uma ferramenta (conjunto de ferramentas?) Que facilita o trabalho com projetos grandes e acoplados. Por exemplo. O kernel do linux define muitas funções de macro. Quero poder abrir qualquer arquivo de origem na árvore do kernel e ver a definição dessa macro (seja passando o mouse ou passando por uma janela de extensão do vim ou qualquer outra coisa).

Falmarri
fonte
Para navegar especificamente no kernel Linux, o LXR (referência cruzada online do Linux) é muito útil. Para o Android, o Eclipse é o IDE preferido, então os autores gastaram energia para fazer as coisas funcionarem bem com ele.
Gilles 'SO- stop be evil' ''
1
Por Android, você quer dizer desenvolvimento de aplicativos java para Android? Ou desenvolvimento de kernel / NDK para Android?
Falmarri 12/04
@Falmarri - Pelo que tenho encontrado, no caso específico de desenvolvimento do Linux kernel, parece que o link + é muito popular: sourceforge.net/projects/linkplustest
Guy Avraham

Respostas:

5

O que eu recomendaria é que você não se atenha a nenhum IDE, por exemplo. Deixe seu código permanecer como arquivos simples no sistema de arquivos e use ferramentas independentes (Emacs, a cadeia de ferramentas GCC, Ctags etc.) necessárias para implementar as operações a serem implementadas. Isso manterá sua base de código independente do IDE e livre de desordens ao seu redor (como arquivos .project, etc.).

Aarohi Johal
fonte
2
Eu acho que esse é o meu tipo de pergunta. Eu não necessariamente preciso de um IDE em si (como em todos os seus recursos). Mas o que eu quero ver é onde as macros do kernel são definidas, a conclusão do código e coisas assim. Quando os projetos começam a atingir dezenas de milhares de arquivos com dependências de tempo de compilação e definições condicionais, é extremamente difícil manter as coisas em ordem usando o vim.
Falmarri
1

Só posso falar por experiência própria, por isso provavelmente não abrange projetos do tamanho de vocês. Eu uso Code :: Blocks para desenvolvimento em C e C ++.

A idéia geral, no entanto, é fazer uso inteligente de coisas como git , vim , ctags , etc., e manter tudo ligado a um IDE específico. O truque é não forçar os desenvolvedores a usar um determinado IDE. Todos no seu projeto devem usar qualquer técnica de desenvolvimento e programas que desejarem.

Quanto ao gerenciamento de grandes quantidades de arquivos, deixe o sistema de arquivos fazer o trabalho. Faça uso de pastas e arquivos descritivos, além de comentários dentro do seu código.

polemon
fonte
1

Eclipse provavelmente seria a melhor escolha para você. Possui plugins para uma enorme quantidade de idiomas e tecnologias, personalizáveis, disponíveis para todos os sistemas operacionais. Como menos, ele usa java e requer muita memória.

user6489
fonte
2
O Eclipse não é confiável ao usá-lo para projetos maiores. Os desenvolvedores de Java aderem a isso, porque existem poucas alternativas.
Polemon
Você o usou em um projeto grande sem problemas?
tshepang
2
O problema que tive com o eclipse é a mentalidade do plugin. Muitas eram (ainda são?) Interfaces de usuário incompatíveis e principalmente inconsistentes. Sempre que você quiser fazer algo "novo", como editar um arquivo que não seja Java, é necessário fazer o download e instalar um plug-in, com tantas chances de tornar a instalação inteira instável quanto de funcionar.
mattnz
1

Eu uso o Visual Slick Edit para um grande (milhões de SLOCs), legado em vários idiomas, multiplataforma e multi ambiente de desenvolvimento. É comercial e caro (a menos que você considere seu tempo). Para uma sessão Java séria, eu mudo para o Eclipse, mas para uma rápida correção / ferramenta em Java, C / C ++, Ada, Python, Pearl, Scripts e muitas outras, é a única ferramenta que conheço que pode fazer isso apenas fora do caixa.

Você faria um desserviço para não baixar uma avaliação e ver se ela

mattnz
fonte