Tôi muốn biết liệu có hợp lý khi phân chia dự án mà tôi đang làm trong hai kho thay vì một.
Từ những gì tôi có thể nói:
- Frontend sẽ được viết bằng html + js
- Phần cuối trong .net
- Phần cuối không phụ thuộc vào frontend và frontend không phụ thuộc vào phần phụ trợ
- Frontend sẽ sử dụng một api nghỉ ngơi được thực hiện trong phần phụ trợ.
- Frontend có thể được lưu trữ trên bất kỳ máy chủ http tĩnh nào.
Đến bây giờ, kho lưu trữ có cấu trúc này:
nguồn gốc:
- lối vào / *
- phụ trợ / *
Tôi nghĩ rằng đó là một sai lầm khi giữ cả hai dự án trong cùng một kho lưu trữ. Vì cả hai dự án không có sự phụ thuộc lẫn nhau, nên chúng thuộc về các kho riêng lẻ và nếu cần một kho lưu trữ mẹ có các mô hình con.
Tôi đã nói rằng điều đó là vô nghĩa và chúng tôi sẽ không nhận được bất kỳ lợi ích nào từ việc đó.
Đây là một số lập luận của tôi:
- Chúng tôi có hai mô-đun không phụ thuộc lẫn nhau.
- Có lịch sử nguồn của cả hai dự án trong thời gian dài có thể làm phức tạp mọi thứ (hãy thử tìm kiếm trong lịch sử để tìm thứ gì đó ở mặt trước trong khi bạn có một nửa số cam kết hoàn toàn không liên quan đến lỗi bạn đang tìm kiếm)
- Xung đột và hợp nhất (Điều này không nên xảy ra nhưng việc ai đó đẩy vào phụ trợ sẽ buộc nhà phát triển khác phải thay đổi phụ trợ để đẩy các thay đổi về lối vào.)
- Một nhà phát triển có thể chỉ làm việc trên phần phụ trợ nhưng sẽ luôn phải kéo frontend hoặc ngược lại.
- Về lâu dài, khi đó sẽ là thời gian để triển khai. Theo một cách nào đó, frontend có thể được triển khai đến nhiều máy chủ tĩnh trong khi có một máy chủ phụ trợ. Trong mọi trường hợp, mọi người sẽ buộc phải sao chép toàn bộ phần phụ trợ với nó hoặc tạo tập lệnh tùy chỉnh để đẩy đến tất cả các máy chủ chỉ lối vào hoặc xóa phần phụ trợ. Dễ dàng hơn chỉ cần đẩy / kéo chỉ lối vào hoặc phụ trợ hơn cả hai nếu chỉ cần một.
- Đối số truy cập (Một người có thể làm việc trên cả hai dự án), Tạo repo thứ ba với mô hình con và phát triển cùng với nó. Lịch sử được giữ riêng biệt trong các mô-đun riêng lẻ và bạn luôn có thể tạo các thẻ trong đó phiên bản phụ trợ / frontend thực sự hoạt động đồng bộ với nhau. Có cả frontend / backend cùng nhau trong một repo không có nghĩa là chúng sẽ hoạt động cùng nhau. Nó chỉ hợp nhất cả lịch sử thành một repo lớn.
- Có frontend / backend là mô hình con sẽ giúp mọi việc dễ dàng hơn nếu bạn muốn thêm freelancer vào dự án. Trong một số trường hợp, bạn không thực sự muốn cấp quyền truy cập đầy đủ vào cơ sở mã. Có một mô-đun lớn sẽ khiến mọi việc trở nên khó khăn hơn nếu bạn muốn hạn chế những gì "người ngoài" có thể nhìn thấy / chỉnh sửa.
- Giới thiệu lỗi và sửa lỗi, tôi đã chèn một lỗi mới vào frontend. Sau đó, một người nào đó sửa một lỗi trong phần phụ trợ. Với một kho lưu trữ, việc quay trở lại trước lỗi mới cũng sẽ khôi phục phần phụ trợ có thể gây khó khăn cho việc khắc phục. Tôi phải sao chép phần phụ trợ vào một thư mục khác để phần phụ trợ hoạt động trong khi sửa lỗi ở mặt trước ... sau đó cố gắng khắc phục mọi thứ ... Có hai kho lưu trữ sẽ không gây đau đớn vì di chuyển TRÊN một repo đã thắng Không thay đổi cái khác. Và thử nghiệm đối với phiên bản phụ trợ khác nhau sẽ không gây đau đớn.
Ai đó có thể cho tôi thêm lý lẽ để thuyết phục họ hay ít nhất là cho tôi biết lý do tại sao việc phân chia dự án thành hai mô hình con là vô nghĩa (phức tạp hơn). Dự án này là mới và codebase là một vài ngày tuổi nên không quá sớm để sửa chữa.