2008-08-04 41 views

Trả lời

17

Theo mặc định, luôn chỉ cần tạo thư mục mới trong cùng một dự án

  • Bạn sẽ nhận được lắp ráp duy nhất (không cần thông qua thể dục ILMerge)
  • Dễ xáo trộn (bởi vì bạn sẽ có các loại ít công cộng và phương pháp, lý tưởng không có gì cả)

Tách mã nguồn của bạn thành nhiều dự án làm cho chỉ có ý nghĩa nếu bạn ...

  • Có một số phần của mã nguồn là một phần của dự án nhưng không thể triển khai theo mặc định hoặc ở tất cả (kiểm tra đơn vị, bổ sung thêm, vv)
  • Nhiều nhà phát triển tham gia và bạn muốn đối xử với công việc của họ như tiêu hao đen cái hộp. (không được đề xuất)
  • Nếu bạn có thể tách riêng dự án của mình thành các lớp/mô-đun riêng biệt và bạn muốn đảm bảo rằng chúng không thể tiêu thụ chéo nội bộ thành viên.(cũng không được khuyến nghị vì bạn sẽ cần phải quyết định khía cạnh nào là quan trọng nhất)

Nếu bạn nghĩ rằng một số phần của mã nguồn có thể được sử dụng lại, vẫn không tạo nó làm dự án mới. Chỉ cần chờ đợi cho đến khi bạn thực sự muốn sử dụng lại nó trong một giải pháp khác và cô lập nó ra khỏi dự án ban đầu khi cần thiết. Lập trình không phải là một lego, việc tái sử dụng thường rất khó và thường sẽ không xảy ra theo kế hoạch.

+0

Tôi thích cảm giác thực tế của lubos. – ybakos

4

Tôi thường làm một dự án cho GUI một dự án cho logic nghiệp vụ là dự án truy cập dữ liệu và dự án cho các bài kiểm tra đơn vị.

Nhưng đôi khi nó là khôn ngoan để có tách dựa trên dịch vụ (nếu bạn đang sử dụng một kiến ​​trúc hướng dịch vụ) Chẳng hạn như xác thực, Bán hàng, vv

Tôi đoán sự cai trị của ngón tay cái mà tôi làm việc tắt của là nếu bạn có thể thấy nó như một thành phần có sự phân tách rõ ràng các mối quan tâm thì một dự án khác có thể thận trọng. Nhưng tôi nghĩ rằng các thư mục so với các dự án chỉ có thể là một sở thích hay triết lý.

Cá nhân tôi cảm thấy rằng nếu mã có thể tái sử dụng được chia thành các dự án thì việc sử dụng các địa điểm khác sẽ đơn giản hơn nếu nó chỉ nằm trong các thư mục.

6

denny đã viết:

Cá nhân tôi cảm thấy rằng nếu sử dụng lại mã được chia thành các dự án đó là đơn giản để sử dụng những nơi khác hơn nếu nó chỉ là trong các thư mục.

Tôi thực sự đồng ý với điều này - nếu bạn có thể sử dụng lại, nó phải nằm trong một dự án riêng biệt. Với những gì đã nói, nó cũng rất khó khăn để tái sử dụng một cách hiệu quả :)

Tại SO, chúng tôi đã cố gắng để thể rất đơn giản với ba dự án:

  • dự án Web MVC (mà làm một công việc tốt đẹp của tách lớp của bạn vào các thư mục mặc định) dự án
  • Cơ sở dữ liệu để kiểm soát nguồn gốc của DB của chúng tôi
  • Unit tests chống lại mô hình MVC/controllers

tôi không thể nói cho mọi người, nhưng tôi hạnh phúc w ith đơn giản như thế nào chúng tôi đã giữ nó - thực sự tốc độ xây dựng cùng!

0

Tách mã nguồn của bạn vào nhiều dự án làm cho chỉ có ý nghĩa nếu bạn ... ... Nhiều nhà phát triển tham gia và bạn muốn đối xử với công việc của họ như hộp đen tiêu hao. (không phải rất được đề xuất) ...

Tại sao điều này không được khuyến nghị? Tôi đã tìm thấy nó một cách rất hữu ích để quản lý một ứng dụng với một số dev làm việc trên các phần khác nhau. Làm cho việc đăng ký dễ dàng hơn nhiều, chủ yếu bằng cách loại bỏ hầu hết các hợp nhất. Rất hiếm khi hai nhà phát triển phải làm việc trên cùng một dự án cùng một lúc.

+0

Chỉ được đề xuất cho mã đủ ổn định để cho phép xác định rõ ràng trách nhiệm và giao diện cho các dự án được xác định. – reinierpost

8

Tính năng tách thành các dự án thường là tối ưu hóa kiến ​​trúc YAGNI. Bạn có thường xuyên sử dụng lại những dự án riêng biệt đó không? Nếu nó không phải là một sự xuất hiện thường xuyên, bạn đang làm phức tạp sự phát triển, xây dựng, triển khai và bảo trì của bạn để tái sử dụng lý thuyết.

Tôi thích chia tách các thư mục (sử dụng các không gian tên thích hợp) và tái cấu trúc để tách các dự án khi bạn có trường hợp sử dụng lại trong đời thực.

+0

Khi tôi thay thế 'tái sử dụng lý thuyết' bằng 'thử nghiệm', kết luận của bạn vẫn giữ nguyên? – reinierpost

0

Nếu bạn thực hiện một số dự án, hãy đảm bảo rằng mọi người thêm mã vào giải pháp đều hoàn toàn nhận thức được ý định của chúng và làm mọi thứ bạn có thể để hiểu được sự phụ thuộc giữa các dự án. Nếu bạn đã từng cố gắng sắp xếp các mớ hỗn độn khi có ai đó đã đi và thêm tài liệu tham khảo mà không nên có và đã đi với nó trong nhiều tuần bạn sẽ hiểu được điểm này

0

Tôi thực sự nghĩ tốt hơn là chia dự án là tốt, nhưng tất cả phụ thuộc vào quy mô của dự án và số người làm việc trên đó.

Đối với dự án lớn hơn, tôi có một dự án cho

  • truy cập dữ liệu (mô hình)
  • dịch vụ
  • kết thúc trước
  • kiểm tra

tôi có các mô hình từ Rob Connery và ứng dụng mặt tiền cửa hàng của anh ấy ... dường như hoạt động thực sự tốt.

mvc-storefront

Các vấn đề liên quan