IDE cho các dự án lớn, đa ngôn ngữ (ví dụ: kernel linux)


11

Tôi biết câu hỏi "mà các bạn sử dụng IDE" đã được hỏi hàng triệu lần. Nhưng tôi chưa bao giờ thấy nó hỏi trong bối cảnh này. Một số gợi ý cho một IDE khi làm việc trên các dự án lớn bao gồm nhiều ngôn ngữ và hàng ngàn tệp.

Một ví dụ điển hình là nguồn android. Không chỉ là một IDE C / C ++ tốt cần thiết cho kernel, mà cả Java và shell script. Có bất cứ điều gì được xây dựng cho loại dự án này?

Những gì tôi thường sử dụng là KDevelop cho C / C ++. Tôi thích nó, tuy nhiên, nó dường như phát nổ khi sử dụng nó cho các dự án lớn như kernel linux. Ngoài ra, nó thậm chí không làm bất cứ điều gì cho Java hoặc python.

Vì vậy, những gì tôi về cơ bản đang tìm kiếm là các đề xuất cho IDE / thiết lập (ví dụ: tập lệnh vim +) để làm việc với các dự án lớn, bao gồm cả nhân linux.

Chỉnh sửa :

Tôi nghĩ rằng tôi có thể đã không rõ ràng. Tôi không chính xác tìm kiếm một IDE mỗi se. Điều tôi thực sự quan tâm là một công cụ (bộ công cụ?) Giúp làm việc với các dự án lớn, kết hợp dễ dàng hơn. Ví dụ. Hạt nhân linux định nghĩa rất nhiều hàm macro. Tôi muốn có thể mở bất kỳ tệp nguồn đã cho nào trong cây kernel và có thể xem định nghĩa của macro đó (cho dù đó là bằng cách di chuyển qua, hoặc cửa sổ mở rộng vim hoặc bất cứ thứ gì).


Để điều hướng hạt nhân Linux một cách cụ thể, LXR (tham chiếu chéo Linux trực tuyến) rất hữu ích. Đối với Android, Eclipse là IDE ưa thích, vì vậy các tác giả đã dành một số năng lượng để khiến mọi thứ hoạt động tốt với nó.
Gilles 'SO- ngừng trở nên xấu xa'

1
Android, bạn có nghĩa là phát triển ứng dụng java java? Hoặc phát triển kernel / NDK android?
Falmarri

@Falmarri - Từ những gì tôi đã tìm thấy, trong trường hợp cụ thể về phát triển nhân Linux, có vẻ như Link + rất phổ biến: sourceforge.net/projects/linkplustest
Guy Avraham

Câu trả lời:


5

Điều tôi muốn giới thiệu là bạn đừng dính vào bất kỳ ý kiến ​​nào của IDE. Hãy để mã của bạn ở dạng tệp phẳng trong hệ thống tệp và sử dụng các công cụ độc lập (Emacs, chuỗi công cụ GCC, Ctags, v.v.) mà bạn phải thực hiện các hoạt động bạn phải thực hiện. Điều đó sẽ giữ cho mã độc lập IDE của bạn không bị lộn xộn xung quanh nó (như các tệp .project, v.v.).


2
Tôi đoán đó là loại câu hỏi của tôi. Tôi không nhất thiết cần một IDE mỗi se (như với tất cả các tính năng của nó). Nhưng điều tôi muốn có thể thấy là nơi các macro kernel được xác định, hoàn thành mã và những thứ tương tự. Khi các dự án bắt đầu đạt tới hàng chục ngàn tệp với các phụ thuộc thời gian biên dịch và định nghĩa có điều kiện, sẽ rất khó để giữ mọi thứ thẳng bằng cách sử dụng vim.
Falmarri

1

Tôi chỉ có thể nói từ kinh nghiệm, vì vậy có lẽ nó không bao gồm các dự án kích thước của bạn. Tôi sử dụng Code :: Blocks để phát triển trong C và C ++.

Tuy nhiên, ý tưởng chung là sử dụng thông minh những thứ như git , vim , ctags , v.v. và giữ mọi thứ không bị ràng buộc với một IDE cụ thể. Bí quyết là, không bắt buộc các nhà phát triển sử dụng một IDE nhất định. Mọi người trong dự án của bạn nên sử dụng bất kỳ kỹ thuật và chương trình phát triển nào họ thích.

Đối với việc quản lý số lượng lớn tệp, hãy để hệ thống tệp thực hiện công việc. Sử dụng các thư mục và các tệp mô tả, cũng như các bình luận bên trong mã của bạn.


1

Eclipse có lẽ sẽ là sự lựa chọn tốt nhất cho bạn. Nó có plugin cho một số lượng lớn ngôn ngữ và công nghệ, có thể tùy chỉnh, có sẵn cho tất cả các hệ điều hành. Trừ đi, nó sử dụng java và đòi hỏi rất nhiều bộ nhớ.


2
Eclipse quá không đáng tin cậy khi sử dụng nó cho các dự án lớn hơn. Các nhà phát triển Java bám sát nó, bởi vì có rất ít lựa chọn thay thế xung quanh.
Polemon

Bạn đã sử dụng nó với một dự án lớn mà không gặp rắc rối?
tshepang

2
Vấn đề tôi gặp phải với nhật thực là tâm lý plugin. Nhiều người (vẫn còn?) Không tương thích và giao diện người dùng không nhất quán. Khi bạn muốn làm một cái gì đó "mới", như chỉnh sửa một tệp không phải là Java, bạn phải tải xuống và cài đặt một plugin, điều đó có nhiều khả năng làm cho toàn bộ cài đặt không ổn định như khi nó hoạt động.
mattnz

1

Tôi sử dụng Visual Slick Edit cho một môi trường lớn (hàng triệu SLOC), đa ngôn ngữ, đa nền tảng, đa phát triển. Đó là thương mại và đắt tiền (Trừ khi bạn yếu tố thời gian của bạn). Đối với phiên Java nghiêm túc, tôi chuyển sang Eclipse, nhưng để sửa lỗi nhanh / công cụ xung quanh trong Java, C / C ++, Ada, Python, Pearl, ScScript và nhiều công cụ khác, đó là công cụ duy nhất tôi biết có thể làm được điều đó, ngoài công cụ cái hộp.

Bạn sẽ tự làm một dịch vụ không tải xuống bản dùng thử và xem nếu nó

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.