Ngay sau khi bạn bắt đầu tách một dự án lớn thành các dự án nhỏ hơn, bạn gặp phải rất nhiều sự theo dõi phụ thuộc mà bạn thường không phải xem xét. Bạn có thể tự mình quản lý hoặc bạn có thể sử dụng phần mềm đã xử lý rất nhiều vấn đề cốt lõi.
I would recommend Apache's Ivy. Nó tích hợp tốt với Ant của Apache, và có một tệp cấu hình riêng biệt (được kiểm tra) để theo dõi những gì được yêu cầu cho mỗi loại xây dựng.
Maven của Apache là một lựa chọn tốt khác; tuy nhiên, nó còn nhiều hơn cả Ivy của Apache. Đôi khi "nhiều hơn" có nghĩa là bạn làm ít hơn những gì bạn sẽ làm, đôi khi "nhiều hơn" có nghĩa là bạn đang làm (và cấu hình) những thứ mà bạn không làm trước đây. Tùy thuộc vào sự phù hợp của thực hành của bạn với Maven, việc di chuyển sang Maven có thể dễ dàng hoặc rất khó.
Ngoài ra, bằng cách sử dụng Ivy, bạn có thể thiết lập kho lưu trữ riêng tư của các tệp jar "được phép" của bạn để kéo và điều này sẽ giúp việc kiểm tra mã dễ dàng hơn nhiều. Về cơ bản, cấu hình lại ivy để không kéo từ web, nhưng để kéo từ kho lưu trữ cục bộ của bạn, và sau đó kiểm soát truy cập vào kho để chỉ cho phép các tệp jar được xem xét để có giấy phép chấp nhận được.
Khi bạn đã cài đặt phần mềm, bạn có thể chia nhỏ các dự án thành nhiều phần nhỏ hơn. Điều này sẽ cho phép bạn làm điều đúng (nếu dự án của bạn ủng hộ phân hủy nhỏ) thay vì điều cần thiết (một vài khối lớn có thể không thực sự mua cho bạn nhiều trong khả năng bảo trì phân hủy). Theo như nơi để thực hiện việc cắt giảm, điều đó phụ thuộc rất nhiều vào các chi tiết cụ thể của ứng dụng của bạn.
Nhiều phần nhỏ có xu hướng dễ dàng hơn cho một người mới để tiêu hóa từng người một. Họ cũng giúp mọi người suy nghĩ về chức năng được thêm vào một dự án; tuy nhiên, nó tốn thời gian và công sức để tháo gỡ và tách rời tất cả các thành phần. Mặt khác là nói chung dễ kiểm tra và xác nhận điều gì đó nhỏ hơn, nhược điểm là nó là một con đường dài hơn để phân hủy một bộ sưu tập nguyên khối thành nhiều đơn vị nhỏ, tích hợp nhưng có chức năng khác nhau.
Chúc may mắn
Nguồn
2011-09-13 14:41:08
Chúng tôi sử dụng Maven để quản lý các phụ thuộc và các dự án riêng biệt. Giữ mã nguồn được chia thành các khối có thể thực hiện được và đảm bảo rằng chúng tôi không có thư viện địa ngục. – mcfinnigan