대규모 다국어 프로젝트 (예 : 리눅스 커널)를위한 IDE


11

"어떤 IDE를 사용하십니까?"라는 질문이 백만 번 요청되었음을 알고 있습니다. 그러나 나는이 문맥에서 그것이 요구되는 것을 본 적이 없다. 여러 언어와 수천 개의 파일을 포함하는 거대한 프로젝트에서 작업 할 때 IDE에 대한 제안 사항은 무엇입니까?

좋은 예는 안드로이드 소스입니다. 커널에는 좋은 C / C ++ IDE뿐만 아니라 Java 및 쉘 스크립트도 필요합니다. 이런 종류의 프로젝트를 위해 만들어진 것이 있습니까?

내가 일반적으로 사용하는 것은 C / C ++ 용 KDevelop입니다. 그러나 그것을 좋아하지만 리눅스 커널과 같은 거대한 프로젝트에 사용할 때 폭발하는 것 같습니다. 또한 Java 또는 python에 대해서는 아무것도하지 않습니다.

그래서 기본적으로 찾고있는 것은 Linux 커널 자체를 포함한 대규모 프로젝트 작업을위한 IDE / 설정 (예 : vim + 스크립트)에 대한 제안입니다.

편집 :

확실하지 않은 것 같습니다. 나는 IDE 자체를 정확하게 찾고 있지 않습니다. 내가 정말로 관심을 가지는 것은 대규모의 결합 된 프로젝트를보다 쉽게 ​​작업 할 수있는 도구 (도구 세트)입니다. 예를 들어. 리눅스 커널은 많은 매크로 기능을 정의합니다. 커널 트리에서 특정 소스 파일을 열고 해당 매크로의 정의를 볼 수 있기를 원합니다 (마우스 오버 또는 vim 확장 창 등).


Linux 커널을 구체적으로 탐색하려면 LXR (온라인 Linux 상호 참조) 이 매우 유용합니다. 안드로이드의 경우 Eclipse가 선호되는 IDE이므로 저자는 일을 잘 처리하는 데 약간의 에너지를 소비했습니다.
Gilles 'SO- 악마 중지'

1
안드로이드 란 안드로이드 자바 앱 개발을 의미합니까? 아니면 안드로이드 커널 / NDK 개발?
Falmarri

@Falmarri는 - 내가 찾은 바로는, 리눅스 커널 개발의 특정의 경우에, 링크 + 매우 인기있는 것 같다 : sourceforge.net/projects/linkplustest
가이 아브라함

답변:


5

내가 추천하는 것은 당신이 말한 IDE를 고수하지 않는다는 것입니다. 코드가 파일 시스템에서 플랫 파일로 유지되도록하고 구현해야하는 작업을 구현하는 데 필요한 독립 도구 (Emacs, GCC 툴체인, Ctags 등)를 사용하십시오. 이렇게하면 코드베이스 IDE에 독립적이며 .project 파일 등 주변을 둘러싼 혼란이 없습니다.


2
그게 내 질문 인 것 같아 IDE 자체가 반드시 필요한 것은 아닙니다 (모든 기능과 마찬가지로). 그러나 내가보고 싶은 것은 커널 매크로가 정의되는 곳, 코드 완성 및 그와 같은 것입니다. 프로젝트가 컴파일 시간 종속성과 조건부 정의로 수만 개의 파일에 도달하기 시작하면 vim을 사용하여 일을 똑바로 유지하기가 매우 어렵습니다.
Falmarri

1

나는 경험을 통해서만 이야기 할 수 있으므로 아마도 당신의 규모의 프로젝트를 포함하지 않을 것입니다. C 및 C ++ 개발을 위해 Code :: Blocks 를 사용 합니다.

그러나 일반적인 아이디어는 git , vim , ctags 등과 같은 것들을 영리하게 사용 하고 모든 것을 특정 IDE에 바인딩하지 않는 것입니다. 비결은 개발자가 특정 IDE를 사용하도록 강요하지 않는 것입니다. 프로젝트의 모든 사람은 원하는 개발 기술과 프로그램을 사용해야합니다.

대량의 파일 관리에 대해서는 파일 시스템이 작업을 수행하도록하십시오. 폴더 안에있는 설명 파일과 코드 내의 주석을 사용하십시오.


1

이클립스는 아마도 최선의 선택 일 것이다. 여기에는 모든 OS에서 사용할 수있는 방대한 언어 및 기술 용 플러그인이 있습니다. 마이너스로 Java를 사용하고 많은 메모리가 필요합니다.


2
대규모 프로젝트에 Eclipse를 사용할 때 Eclipse를 너무 신뢰할 수 없습니다. 대안이 거의 없기 때문에 Java 개발자는이를 고수합니다.
polemon

큰 프로젝트에서 문제없이 사용 했습니까?
tshepang

2
내가 일식에서 겪었던 문제는 플러그인 정신입니다. 호환되지 않고 대부분 일관되지 않은 사용자 인터페이스가 여전히 많았습니다. Java가 아닌 파일 편집과 같이 "새"작업을 수행하려는 경우 플러그인을 다운로드하여 설치해야합니다. 플러그인은 전체 설치를 불안정하게 만들 가능성이 높습니다.
mattnz

1

대규모 (수백만 개의 SLOC), 레거시 다국어, 다중 플랫폼, 다중 개발 환경에 Visual Slick Edit를 사용합니다. 상업적이고 비싸다 (시간을 고려하지 않는 한). 심각한 Java 세션의 경우 Eclipse로 전환하지만 Java, C / C ++, Ada, Python, Pearl, Scripts 및 기타 여러 가지에서 빠른 수정 / 도구를 위해 내가 아는 유일한 도구는 상자.

평가판을 다운로드하지 않고 장애가 있는지 확인하기 위해 장애를 겪을 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.